PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 二維陣列指標表示方法
作者:
lllll12b56
(saiwagon)
2022-02-02 17:35:53
想問各位大神
例如我宣告a[5][5]這個二維陣列
為什麼a+2的值跟*(a+2)的值都是位置
還是同樣的位置?
我原本還以為*(a+2) = a[2][0]
結果自己試才知道要取a[2][0]要**(a+2)
作者:
wei115
(ㄎㄎ)
2022-02-02 18:23:00
陣列和指標不一樣 只是編譯器會想讓這兩個看起來一樣陣列是連續的記憶體 取值是加上偏移指標的指標是有一個位置內存了位置 再由這個位置找到值可是在C裡面a[2][0]卻可以表示成*(*(a+2)+0) 這些差異編譯器會默默幫你搞定
作者:
Dracarys
(MayShowGunMore)
2022-02-02 20:28:00
*(a+2)的type是T[5],**(a+2)會work是因為array to ptrdecay成&T[2][0]然後你再dereference啊不是&T[2][0]是&a[2][0]
作者:
lllll12b56
(saiwagon)
2022-02-02 21:03:00
感謝各位
繼續閱讀
[問題] is_nothrow_move_constructible 相關問題
alan23273850
[分享] 高清 1080P C++面向对象高级编程(侯捷)
descent
[問題] 從主程式移出函數遇到exception thrown
Vvvahc
[問題] [QT] 為什麼GUI卡住了...
liu2007
[問題] openMP產生比section數多的thread
school4303
[問題] 排列數字有誤(已解決!
jerryhey
[問題] vector emplace_back 疑似page fault問題
laughingman
[問題] vector emplace_back() 花費時間問題
laughingman
Re: [問題] 暫時物件產生的原因
sarafciel
[問題] 暫時物件產生的原因
WangDaMing
Links
booklink
Contact Us: admin [ a t ] ucptt.com