Re: [問題] 2D array的address

看板C_and_CPP (C/C++)作者 (brotherD)時間8年前 (2018/04/24 10:45), 8年前編輯推噓4(405)
留言9則, 3人參與, 8年前最新討論串3/5 (看更多)
K大謝謝您的提醒,讓我知道B B[0]與B[0][0]的型別都不一樣 但我知道型別的差異後,我還是不知道我問的問題的答案(資質不好QQ) 但我自己有想到一個方法,提供給您參考看符不符合邏輯 假設B為1D array B //address of first element in array *B //value B[0] //value 因為B為1D array,所以只要一個[](*)便能夠取值 假設B為2D array B //address of first element in array *B //因為只有一個*,所以還不能取到value B[0] //因為只有一個[],所以還不能取到value 也就是說,以下: printf("%p\n",B); // 400 printf("%p\n",**B); // 2 printf("%p\n",*B[0]);// 2 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.26.157 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1524537954.A.0CD.html

04/24 10:59, 8年前 , 1F
正確來講B是 addr of array 不過就像其他人說的有歷史
04/24 10:59, 1F

04/24 10:59, 8年前 , 2F
問題 所以是第一個元素地址也沒錯
04/24 10:59, 2F

04/24 13:36, 8年前 , 3F
B不是address啊 他就是那個array
04/24 13:36, 3F
樓上兩位講的都沒錯啊,B = array = addr of array = add of first element in array ※ 編輯: zzss2003 (60.248.26.157), 04/24/2018 14:11:19

04/25 00:16, 8年前 , 4F
正確來講ooo不過xxx也正確
04/25 00:16, 4F

04/25 00:16, 8年前 , 5F
說兩個都正確很要命嗎…
04/25 00:16, 5F

04/25 01:02, 8年前 , 6F
不是這樣說吧 一個像是原始定義 一個是最終結果
04/25 01:02, 6F

04/25 22:29, 8年前 , 7F
看你要不要分清楚 "是指標" 和 "可以轉型成指標"
04/25 22:29, 7F

04/25 22:30, 8年前 , 8F
這兩件事, 當然如果你覺得當成一樣的比較好理解也是
04/25 22:30, 8F

04/25 22:30, 8年前 , 9F
可以
04/25 22:30, 9F
文章代碼(AID): #1QtffY3D (C_and_CPP)
文章代碼(AID): #1QtffY3D (C_and_CPP)