댕글링 포인터란🧐


포인터가 여전히 해제된 메모리 영역을 가리키고 있는 경우

//예시
char *p = (char *)malloc(sizeof(char));
...
free(p);

p가 가리키는 메모리는 free함수에 의해 해제가 되었지만, p변수는 삭제되지 않아 그대로 메모리가 해제된 지역을 가리킨다.

발생할 수 있는 문제점😭


해결방안😎


메모리 해제 후 포인터를 NULL로 설정하자.

//예시
char *p = (char *)malloc(sizeof(char));
...
free(p);
p = NULL;

참고


댕글링 포인터(dangling pointer)