pointer

· C/C
1. 정의 메모리에서 해제 된 공간(ex. free(ptr))을 가리키는 포인터 (허상 포인터) 2. 발생 원인 free를 통해 메모리를 해제했지만 해당 포인터변수가 해제된 메모리 주소를 가지고 있는 경우. 블록 스코프 내에서(ex. 임의의 함수 내에서) 할당된 변수의 주소를 가리키고 블록이 끝난 경우 3. 증상 Segmentation fault memory access deny -> 예측 불가능한 동작 4. 해결 방법 free 할 경우 메모리 해제 이후 해당 포인터변수를 자동으로 NULL을 가리키게한다. free(ptr) ptr = NULL; Dangling Pointer 문제를 자동으로 발견하게 해주는 third party tool 사용 5. 예제 free해도 Dangling Pointer가 되지 않..
· C/C++
Definition 사전적 의미는 '참조' 나의 관점에서 DB에서 'alias' 와 상당히 비슷한 느낌을 받았다. 즉 별명을 지어준다는 것 When to use C의 Call by Value, Call by reference 에서 Call by reference의 parameter로 포인터 변수 (주소값)을 넘겨본 경험이 있을것이다. 포인터 변수도 결국 메모리를 차지한다. 근데!! C++은 마치 Call by Reference처럼 References as function parameters .. i.e. 함수 내에서 값은 변경 할 수 있으면서(주소에 접근할 수 있으면서) 별도의 메모리 할당이 없다는 장점이 있다. ※ 레퍼런스는 한 번 초기화 되면 다른 변수의 별명이 될 수 없음. * operloading..
M_Falcon
'pointer' 태그의 글 목록