假設我們有一個多維數組。How&multi [3] [0]和*(multi + 3)是一回事嗎?
multi[3][10]
然後&multi[0][0]
將多
如果我們想訪問的任何元素數組英寸我們只需要一個解引用。因爲它位於不斷。我無法理解雙引號。 作爲
*(*(multi+row)+column)
假設我們有一個多維數組。How&multi [3] [0]和*(multi + 3)是一回事嗎?
multi[3][10]
然後&multi[0][0]
將多
如果我們想訪問的任何元素數組英寸我們只需要一個解引用。因爲它位於不斷。我無法理解雙引號。 作爲
*(*(multi+row)+column)
&multi[0][0]
是陣列multi
的第一元件,其等效於multi[0]
的地址。
multi
是一維數組的數組。當在表達式中使用時,multi
將衰減爲指向它的第一個元素,但操作數爲sizeof
和一元&
時除外。
在表達式
*(*(multi+row)+column)
內*
是取消引用一維數組(行)和所述外*
是取消引用該行的元件。
*(multi + row) => multi[row]
*(*(multi+row)+column) => *(multi[row] + column) => multi[row][column]
你的意思是multi [0]是一個指針。所以打印它應該給地址。但它正在給予價值。 –
'multi [0]'是一個10'int'的數組。衰減規則將像其他數組一樣應用於它。 – haccks
Int * ptr = multi –
「'&multi [0] [0]'將會是'multi'' - 不會的。如果您嘗試打印它,它可能會打印出相同的內容,但它們的類型完全不同。解引用第一個將產生與解引用第二個完全不同的結果。 – user2357112
什麼是類型? –
@SaketAnand;你不認識「類型」,認真嗎? – haccks