포인터 읽기
포인터 표현식은 주소와 값을 번갈아 읽는다
선언의 별표, 주소 연산자, 역참조 연산자를 한 문장으로 섞지 말고 단계별로 나누면 의미가 또렷해집니다.
int* p
&value
*p
p는 주소를 담는다
int* p는 int 값을 직접 담는 변수가 아니라 int 위치를 저장하는 변수입니다.
&는 주소 생성
&num은 num 자체가 아니라 num이 놓인 메모리 위치를 가리킵니다.
*는 따라가서 읽는다
*p는 p에 저장된 주소로 이동해 그곳의 int 값을 읽거나 바꿉니다.
01 · 선언
가리킬 타입을 정합니다.
02 · 초기화
주소 또는 nullptr을 넣습니다.
03 · 검사
널 여부를 먼저 봅니다.
04 · 역참조
주소를 따라 값을 씁니다.
포인터 크기는 주소 크기로 같을 수 있지만, 역참조할 때 읽는 바이트 수는 포인터가 가리키는 타입이 결정합니다.