*变量[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问题,如果你说什么'变量'是。 –