[問題] Dev-C++ 一個記憶體位址問題?

看板C_and_CPP作者 (毅)時間14年前 (2010/06/19 01:58), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) #include <iostream> using namespace std; int main(){ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p,*q; p=a; cout<<"p="<<p<<endl; cout<<"*p="<<*p<<endl; q=&a[2]; cout<<"q="<<q<<'\n'; cout<<"*q="<<*q<<'\n'; cout<<"q-p="<<q-p<<'\n'; cout<<a[q-p]<<'\n'; cout<<a[*q-*p]<<'\n'; return 0; } 在程式中 我印出來 p = 0x22ff60 q = 0x22ff68 可是q-p印出來卻是2 記憶體位址相差8 可是q-p卻是2 所以想問問看大家這是為什麼? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.195.151

06/19 02:34, , 1F
一個 int 佔 4 bytes
06/19 02:34, 1F

06/19 02:40, , 2F
推樓上
06/19 02:40, 2F

06/21 11:31, , 3F
原來如此~感謝阿!
06/21 11:31, 3F
文章代碼(AID): #1C6xEgkI (C_and_CPP)