포인터는 값을 직접 담지 않고, 값이 있는 주소를 담는다

일반 변수는 값을 저장하고, 포인터 변수는 그 값이 놓인 메모리 위치를 저장합니다.

메모리에서 보는 관계

주소 0x1000num 변수, 값 10 저장
주소 0x2000pNum 포인터, 값 0x1000 저장
따라가기*pNum은 0x1000 위치의 값 10을 읽음
주소를 값처럼 저장

포인터 변수의 값은 실제 데이터가 아니라 위치 정보입니다.

타입이 읽는 크기를 결정

int*는 주소에서 int 크기만큼 값을 해석합니다.

안전성은 별도 확인

주소가 비어 있거나 대상 수명이 끝나면 역참조가 위험합니다.

포인터를 읽는 첫 질문은 “이 변수는 값을 들고 있나, 주소를 들고 있나”입니다.