댕글링 포인터란
포인터가 여전히 해제된 메모리 영역을 가리키고 있는 경우
//예시
char *p = (char *)malloc(sizeof(char));
...
free(p);
C
복사
p가 가리키는 메모리는 free함수에 의해 해제가 되었지만, p변수는 삭제되지 않아 그대로 메모리가 해제된 지역을 가리킨다.
발생할 수 있는 문제점
•
메모리 접근시 예측 불가능한 동작
•
잠재적인 보안 위험
해결방안
메모리 해제 후 포인터를 NULL로 설정하자.
//예시
char *p = (char *)malloc(sizeof(char));
...
free(p);
p = NULL;
C
복사