반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 리눅스
- IOS
- jenkins
- JPA
- AI
- 다이어리
- CD
- Spring
- Dining philosopher problem
- 스프링
- 데이터베이스
- 네트워크
- javascript
- MySQL
- swift
- libasm
- DBMS
- 소켓
- 아이패드다이어리
- Xcode
- 인공지능
- springboot
- 오라클
- 프로그래밍언어론
- 스프링부트 웹 소켓
- 42seoul
- 밥먹는 철학자
- CI
- sql
- 스프링부트
Archives
- Today
- Total
Hi yoahn 개발블로그
[C/C++] dangling pointer 본문
반응형
1. 댕글링 포인터
동적 할당된 변수를 다시 메모리 해제하는 경우, free를 통해 메모리를 해제할 수 있다.
하지만 할당되어있던 위치를 가리키던 포인터 변수는 여전히 그 위치를 가리키는 주소값을 가지고 있어서 해당 포인터가 NULL인지 검사할 때 NULL 이 아니라고 나오게 된다.
이렇게 할당 해제된 메모리 주소를 가리키는 포인터를 댕글링 포인터라고 한다.
댕글링 포인터를 사용하면 메모리 접근 시 프로그램이 예측 불가능한 동작을 하게 되는 위험이 있어서 사용하지 않는것이 좋다.
따라서 메모리가 해제된 곳을 가리키는 포인터를 다시 사용해야 하는 경우 할당 해제 후 포인터 변수에 NULL 값을 넣어 초기화해주는 것이 좋다.
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
NULL, 0, '\0', "" 차이점 (0) | 2021.03.18 |
---|---|
[C] 가변인자 (0) | 2020.12.30 |
파일 입출력 (0) | 2020.03.27 |
Comments