假设我初始化了一个二维数组
Int a[2][3] = {
1, 2, 3,
4, 5, 6};
是a[0]
== &a[0]
吗??
我知道 a[0]
指的是数组第一个元素的地址。那么&a[0]
还是地址吗?
最佳答案
首先,arrayNum[0]
的类型是Int[3]
和 &arrayNum[0]
的类型是Int(*)[3]
(我没有将 OP 的 Int
更改为可能的 int
)。
其次,数组可以衰减为指向其第一个元素的指针,因此 arrayNum[0]
可以衰减到&arrayNum[0][0]
这是类型 Int*
.
这两个指针,&arrayNum[0]
和 &arrayNum[0][0]
将指向相同的位置,但它们的类型非常不同。
关于二维数组的C编程地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48558528/