看板 C_and_CPP 關於我們 聯絡資訊
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
jerryh001: 正確來講B是 addr of array 不過就像其他人說的有歷史 04/24 10:59
jerryh001: 問題 所以是第一個元素地址也沒錯 04/24 10:59
AstralBrain: B不是address啊 他就是那個array 04/24 13:36
樓上兩位講的都沒錯啊,B = array = addr of array = add of first element in array ※ 編輯: zzss2003 (60.248.26.157), 04/24/2018 14:11:19
CoNsTaR: 正確來講ooo不過xxx也正確 04/25 00:16
CoNsTaR: 說兩個都正確很要命嗎… 04/25 00:16
jerryh001: 不是這樣說吧 一個像是原始定義 一個是最終結果 04/25 01:02
AstralBrain: 看你要不要分清楚 "是指標" 和 "可以轉型成指標" 04/25 22:29
AstralBrain: 這兩件事, 當然如果你覺得當成一樣的比較好理解也是 04/25 22:30
AstralBrain: 可以 04/25 22:30