동적할당 질문드려요
모아
2023.04.01
#include stdio.h
#include stdlib.h
void main(void)
{
int* a = (int*)malloc(4);
a[0] = 1;
printf(%d\n, a[0]);
free(a);
printf(%x\n, a);
a[0] = 2;
printf(%d\n, a[0]);
}
간단하게 코드를 만들어봣는데요
크기가 4바이트인 공간을 잡고 거기에 1를 넣은다음에
메모리를 해제했는데 a는 그 주소값을 유지하고있고
접근해서 값까지 바뀌어지네요 ㅠㅠ
어떻게 된걸까요.. 동적할당 패닉이에요