#include <stdio.h>
int main(void)
{
int * ptr1=0x0010;
double * ptr2=0x0010;
printf("%p %p \n", ptr1+1, ptr1+2); //4가 증가하고 8이 증가한다.
printf("%p %p \n", ptr2+1, ptr2+2); //8이 증가하고 16이 증가한다.
printf("%p %p \n", ptr1, ptr2);
ptr1++; //4가 증가한다.
ptr2++; //8이 증가한다.
printf("%p %p \n", ptr1, ptr2);
return 0;
}
printf("%p %p \n", ptr2+1, ptr2+2); //8이 증가하고 16이 증가한다.
이 부분이 이해가 안가네요...
옆에는 ptr2+1이 8증가하고 ptr2+2가 16증가한다고 합니다.
그런데 막상 visual c++ 2010으로 실행하면 결과가 18, 20으로 뜨네요.
16증가하면 결과가 26이어야 하는 것 아닌가요?
책에 실려있는 실행결과에도 00000020이라고 뜨는데.. 왜 20이 뜨는지 제 미천한 실력으로는 이해가 안갑니다.
상세한 설명해주시면 감사하겠습니다...