[問題] 關於sizeof

看板C_and_CPP (C/C++)作者 (Jun)時間15年前 (2010/11/17 22:49), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串3/4 (看更多)
小弟想問個關於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的大小嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.154.202

11/17 22:52, , 1F
我猜是pointer size
11/17 22:52, 1F

11/17 22:55, , 2F
x+1的x會被解釋成&x[0],所以+1等於&x[1]
11/17 22:55, 2F

11/17 23:06, , 3F
sizeof(x) 是陣列所有元素加總的大小, 一旦加上運算,
11/17 23:06, 3F

11/17 23:06, , 4F
都是拿 &[0] 去算, 所以型態是 int*
11/17 23:06, 4F
文章代碼(AID): #1Cu-kDbR (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 3 之 4 篇):
1
5
文章代碼(AID): #1Cu-kDbR (C_and_CPP)