*變量[0]和變量[0] [0]是同一個東西嗎? 第一個是指向數組的第一個元素的指針。第二個是指向數組的第一個元素的數組的第一個元素。他們是否指向相同的元素?指針數組說明
Q
指針數組說明
0
A
回答
3
按照C標準(6.5.2.1數組下標)
2後綴表達式,隨後在方括號表達式[] 是一個數組對象的元素的下標指定。 下標運算符[]的定義是E1 [E2]與 (*((E1)+(E2)))相同。由於適用於二元運算符 的轉換規則,如果E1是一個數組對象(等同於指向數組對象的初始元素的指針 )且E2是整數,則E1 [E2]指定E2 E1的E1元素(從零開始計數)。
和(6.3.2.1左值,數組和功能指示器)
3除了當它是sizeof運算符的操作數或一元& 操作者,或者是字符串文字用來初始化一個數組,和 將具有類型爲'''的數組類型的表達式轉換爲 表達式,其類型爲''指向類型''的指針指向數組對象的初始 元素並且不是左值。如果數組對象 具有寄存器存儲類,則行爲未定義。
該表達
variable[0]
生成一個數組。應用一元運算符*
將數組轉換爲指向其第一個元素的指針。所以
*variable[0]
根據第一引用的表達式相當於variable[0][0]
在另一方面
variable[0][0]
等效於表達*(variable[0] + 0)
,這又相當於*(variable[0])
或只是*variable[0]
相關問題
- 1. 函數指針的說明
- 2. 關於指針的說明
- 3. 通過數值/指針/參考說明
- 4. C++指針數組聲明
- 5. 數組指針聲明
- 6. 簡單的指針數組平等說明所需
- 7. 聲明指針數組字符數組
- 8. AS3,對'this'指針的說明
- 9. 指針的常量說明符
- 10. C++指針和引用說明
- 11. 關於指針使用的說明
- 12. 關於const指針的快速說明
- 13. 如何聲明指向int數組的指針數組?
- 14. C++指針聲明訪問指針數組
- 15. 指針,雙指針,數組
- 16. 指針數組指針
- 17. C指針指針數組
- 18. 不透明結構數組指針
- 19. 與數組指針的聯合聲明?
- 20. 使用雙指針聲明2D數組
- 21. 聲明一個動態數組指針
- 22. 指針和指針數組指針
- 23. 指針函數C中的函數說明
- 24. 爲什麼說一個2維數組是一個「指向指針的指針?」
- 25. 指針數組和指針的指針數組
- 26. 聲明,分配和分配指向函數指針的指針數組
- 27. 指針數組?
- 28. 數組指針
- 29. 數組指針
- 30. 數組指針
[ Arrays C++ Tutorails](http://www.cplusplus.com/doc/tutorial/arrays/) – FortyTwo
'x [y]'被解釋爲'*(x + y)',所以是的,它們將是相同的東西 – Fureeish
這將是ab etter問題,如果你說什麼'變量'是。 –