作者查詢 / MATTANDLOLI

總覽項目: 發文 | 留言 | 暱稱
作者 MATTANDLOLI 在 PTT [ C_and_CPP ] 看板的留言(推文), 共9則
限定看板:C_and_CPP
首頁
上一頁
1
下一頁
尾頁
[問題] C++ 陣列在呼叫函式中sizeof的值不一樣
[ C_and_CPP ]53 留言, 推噓總分: +2
作者: freemirage - 發表於 2013/07/10 15:09(12年前)
35FMATTANDLOLI:基本上你要瞭解array只是比較方便的pointer而已.當你07/11 02:25
36FMATTANDLOLI:declare int a[10], a就是array的base address, 然後07/11 02:26
37FMATTANDLOLI:int是4 bytes, 所以base address+4 byte就是a[1].只要07/11 02:28
38FMATTANDLOLI:記住a[k] = *(a+k)就很明瞭了.sizeof(a)是pointer大小07/11 02:29
39FMATTANDLOLI:sizeof(*a)事實上是sizeof(a[0])的大小,所以為4因為07/11 02:30
40FMATTANDLOLI:a[0]存的是int.要知道array所需記憶體的大小建議你可07/11 02:31
41FMATTANDLOLI:以看看vector implementation.除非你知有幾個element07/11 02:34
42FMATTANDLOLI:在array裡才有辦法malloc正確的空間.所以通常都會有07/11 02:35
43FMATTANDLOLI:logLength來追蹤array的長度.07/11 02:36
首頁
上一頁
1
下一頁
尾頁