作者tropical72 (藍影)
看板C_and_CPP
標題Re: [問題] 關於sizeof
時間Thu Nov 18 00:31:26 2010
※ 引述《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