<div>#include <stdio.h></div> <div><br></div> <div>int main(void)</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int * ptr1=0x0010;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>double * ptr2=0x0010;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("%p %p \n", ptr1+1, ptr1+2);<span class="Apple-tab-span" style="white-space:pre;"> </span>//4가 증가하고 8이 증가한다.</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("%p %p \n", ptr2+1, ptr2+2);<span class="Apple-tab-span" style="white-space:pre;"> </span>//8이 증가하고 16이 증가한다.</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("%p %p \n", ptr1, ptr2);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>ptr1++;<span class="Apple-tab-span" style="white-space:pre;"> </span>//4가 증가한다.</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>ptr2++;<span class="Apple-tab-span" style="white-space:pre;"> </span>//8이 증가한다.</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("%p %p \n", ptr1, ptr2);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div> <div>}</div> <div><br></div> <div><br></div> <div><br></div> <div>printf("%p %p \n", ptr2+1, ptr2+2);<span class="Apple-tab-span" style="white-space:pre;"> </span>//8이 증가하고 16이 증가한다.</div> <div>이 부분이 이해가 안가네요...</div> <div>옆에는 ptr2+1이 8증가하고 ptr2+2가 16증가한다고 합니다.</div> <div>그런데 막상 visual c++ 2010으로 실행하면 결과가 18, 20으로 뜨네요.</div> <div>16증가하면 결과가 26이어야 하는 것 아닌가요?</div> <div>책에 실려있는 실행결과에도 00000020이라고 뜨는데.. 왜 20이 뜨는지 제 미천한 실력으로는 이해가 안갑니다.</div> <div>상세한 설명해주시면 감사하겠습니다...</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.