포인터 코드는 선언, 주소 저장, 널 체크, 역참조 순서로 읽는다
포인터 표현은 기호보다 흐름이 중요합니다. 주소가 어디서 왔고, 지금 안전한지부터 확인합니다.
01
선언
int* pNum = nullptr;
아직 대상을 가리키지 않게 시작합니다.
02
주소 저장
pNum = #
num의 위치를 포인터 값으로 둡니다.
03
널 체크
pNum != nullptr
따라갈 주소가 있는지 확인합니다.
04
역참조
*pNum = 20;
주소가 가리키는 실제 값을 바꿉니다.
값을 보는 관점
num은 값 20을 가진 변수이고, pNum은 num의 주소를 가진 변수입니다.
메모리를 보는 관점
*pNum은 포인터 값 자체가 아니라, 그 주소에 놓인 num의 저장 공간을 가리킵니다.
역참조하기 전에는 “주소가 있고, 대상이 살아 있고, 내가 접근해도 되는가”를 먼저 확인합니다.