[問題] 三維陣列

看板C_and_CPP (C/C++)作者 (Simple Life)時間15年前 (2009/02/19 19:10), 編輯推噓5(505)
留言10則, 5人參與, 最新討論串1/2 (看更多)
我有個三維陣列 red[600][320][240] 然後要將這個陣列傳給副程式int fun(); 我寫成 fun(red); int fun( int *** red) 可是學長說我這樣寫不對,得要在陣列前加上& int fun(int *** &red) 但是跑出來的結果都是相同的,是巧合嗎? 我想問這種寫法兩個有什麼差別呢? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.3.135

02/19 19:16, , 1F
學長怪怪的
02/19 19:16, 1F

02/19 19:38, , 2F
我測是要這樣 int fun( int red[600][320][240] ) 編譯才會過
02/19 19:38, 2F

02/19 19:59, , 3F
想起來是為什麼了,因為我編譯成C++會檢查資料型態才過不了..
02/19 19:59, 3F

02/20 00:28, , 4F
我也覺得學長怪怪的... 兩個應該是都對, 但應該常寫第一種
02/20 00:28, 4F

02/20 00:30, , 5F
但兩者意義不同, 而我想不到有人會去改"陣列"的位置嘛?
02/20 00:30, 5F

02/20 00:30, , 6F
這是陣列, 不是指標... XD XD
02/20 00:30, 6F

02/20 10:19, , 7F
我個人認為這是 C/C++ 隱藏的型別文法不一致性造成... ...
02/20 10:19, 7F

02/20 18:39, , 8F
兩個都對感覺才是奇怪呢 [] [] [] 是以位移算的
02/20 18:39, 8F

02/20 18:40, , 9F
*** 則是對指標deref 後取得實體位址
02/20 18:40, 9F

02/20 22:06, , 10F
他可能是用new int去建立red的三維陣列,但是內文沒寫清楚
02/20 22:06, 10F
文章代碼(AID): #19dJucOs (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
5
10
文章代碼(AID): #19dJucOs (C_and_CPP)