Hi yoahn 개발블로그

[C/C++] dangling pointer 본문

프로그래밍 언어/C++

[C/C++] dangling pointer

hi._.0seon 2021. 3. 18. 15:06
반응형

1. 댕글링 포인터

동적 할당된 변수를 다시 메모리 해제하는 경우, free를 통해 메모리를 해제할 수 있다.

하지만 할당되어있던 위치를 가리키던 포인터 변수는 여전히 그 위치를 가리키는 주소값을 가지고 있어서 해당 포인터가 NULL인지 검사할 때 NULL 이 아니라고 나오게 된다.

 

이렇게 할당 해제된 메모리 주소를 가리키는 포인터를 댕글링 포인터라고 한다.

 

댕글링 포인터를 사용하면 메모리 접근 시 프로그램이 예측 불가능한 동작을 하게 되는 위험이 있어서 사용하지 않는것이 좋다.

 

따라서 메모리가 해제된 곳을 가리키는 포인터를 다시 사용해야 하는 경우 할당 해제 후 포인터 변수에 NULL 값을 넣어 초기화해주는 것이 좋다.

 

thinkpro.tistory.com/67

 

댕글링 포인터(Dangling Pointer)

포인터가 여전히 해제된 메모리 영역을 가리키고 있다면, 이러한 포인터를 댕글링 포인터(Dangling Pointer)라고 한다. 댕글링 퐁린터가 가리키는 메모리는 더는 유효하지 않다. 댕글링 포인터는 pre

thinkpro.tistory.com

 

반응형

'프로그래밍 언어 > C++' 카테고리의 다른 글

NULL, 0, '\0', "" 차이점  (0) 2021.03.18
[C] 가변인자  (0) 2020.12.30
파일 입출력  (0) 2020.03.27
Comments