질문&답변
(6.9) 포인터 주소를 찍어보는 구간에서 질문이 하나 생겼어요.
안녕하세요. 말씀하신대로 포인터 변수의 크기는 8바이트가 맞습니다. 하지만 코드에서 보이는 cout ptr_i 의 주소 값이 아니라 ptr_i가 가르키는 주소. 즉, int i 의 주소를 출력합니다. 그러므로 포인터 연산을 했을 경우 8바이트가 아닌 int i의 크기인 4 씩 차이가 나게 됩니다. uintptr_t(&ptr_i - 1) 아예 포인터 ptr_i의 주소에 포인터연산을 하게 될 경우, 8씩 차이가 나게 되는 것을 보실 수 있습니다. 저도 배우고 있는 중이라 정확하지 않을 수 있으나, 도움이 되셨으면 좋겠습니다 !
- 좋아요수
- 1
- 댓글수
- 2
- 조회수
- 409





