#include <stdio.h>
#include <stdlib.h>
int main(void) {
int *pList = NULL, i = 0;
pList = (int*)malloc(sizeof(int) * 3);
pList[0] = 10;
pList[1] = 20;
pList[2] = 30;
for(i=0; i <3; ++i) {
printf("%d\n", pList[i]);
}
free(pList);
printf('\n ********** \n');
pList[0] = 10;
pList[1] = 20;
pList[2] = 30;
for(i=0; i <3; ++i) {
printf("%d\n", pList[i]);
}
return 0;
}
이번에 동적할당 공부하면서 궁금한게 생겼는데요.
여기 free() 에서 동적할당을한 메모리를 해제해서 운영체제에 돌려준다고 설명이 나와있던데
어떻게 해제한 후에도 그 값을 수정하거나 접근할수 있는건가요?
해제했다면 아예 그값에 접근하지 못하거나 없어야 하지 않나요??