看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《vm6jp6rmp4 (Jun)》之銘言: : 小弟想問個關於sizeof的問題 : int main() : { : int x[3]={1,2,3}; : cout<<sizeof(x); : system("pause"); : } : sizeof(*x)代表x[3]中第一個位址的內容,也就是1的大小,sizeof(x)代表 : x裡面有三塊int記憶體合計12,那sizeof(x+1)代表什麼?跟sizeof(*(x+1))是一樣的意思 : 代表x[1]中2的大小嗎? 這種問題寫其它 demo code 來測很快就知道答案了.. int main() { double x[3]; cout << sizeof(x) << endl; // 24, 8*3 cout << sizeof(*x) << endl; // 8, sizeof(double) cout << sizeof(*(x+1)) << endl; //8, sizeof(double) cout << sizeof(x+1) << endl; // 4, sizeof(pointer) return 0; } -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142
loveme00835:其實寫 C++ 的話我會比較推薦 typeid 因為有時候出來 11/18 00:45
loveme00835:果一樣, 不代表他們的型態就相同、操作的結果也相同 11/18 00:46
tropical72:嗯.馬上去查 typeid 怎麼用,謝謝建議 :) 11/18 00:48
tropical72:真的很好用耶.. typeinfo.. 11/18 01:03