포인터 코드는 선언, 주소 저장, 널 체크, 역참조 순서로 읽는다

포인터 표현은 기호보다 흐름이 중요합니다. 주소가 어디서 왔고, 지금 안전한지부터 확인합니다.

01 선언

int* pNum = nullptr;
아직 대상을 가리키지 않게 시작합니다.

02 주소 저장

pNum = #
num의 위치를 포인터 값으로 둡니다.

03 널 체크

pNum != nullptr
따라갈 주소가 있는지 확인합니다.

04 역참조

*pNum = 20;
주소가 가리키는 실제 값을 바꿉니다.

값을 보는 관점

num은 값 20을 가진 변수이고, pNum은 num의 주소를 가진 변수입니다.

메모리를 보는 관점

*pNum은 포인터 값 자체가 아니라, 그 주소에 놓인 num의 저장 공간을 가리킵니다.

역참조하기 전에는 “주소가 있고, 대상이 살아 있고, 내가 접근해도 되는가”를 먼저 확인합니다.