指針的值是變量的地址。為什么int pointer將int指針增加1后,值又增加了4個字節。我認為,指針(變量地址)的值在指針增加后僅增加1個字節。測試代碼:int a = 1, *ptr;ptr = &a;printf("0x%X\n", ptr);ptr++;printf("0x%X\n", ptr);預期產量:0xBF8D63B80xBF8D63B9實際輸出:0xBF8D63B80xBF8D63BC編輯:另一個問題-如何訪問一個int占用一個字節的4個字節?
3 回答

ibeautiful
TA貢獻1993條經驗 獲得超6個贊
指針增量基于所指向類型的大小。如果int是4個字節,則將int *遞增1將使其值增加4。
如果short是2個字節,則將short *加1將使其值增加2。
這是C指針算術的標準行為。
- 3 回答
- 0 關注
- 2014 瀏覽
添加回答
舉報
0/150
提交
取消