【发布时间】:2014-02-08 12:13:18
【问题描述】:
我有一个关于指向二维数组的 c 指针的问题。我们经常写:
int (*p)[3]=a //here a is a 2d array
但写作:
int (*p)[3]=a[0]
和
int (*p)[3]=&a[0]
产生与a 基地址相同的结果。如果我们cout p,它会产生与*p相同的结果。
为什么会发生这一切。
【问题讨论】:
-
@Manu343726 上面的是声明。
int (*p)[3]中的p是一个 simple 指向int[3]数组的指针,而int *p[3]中的p将是一个包含 3 个指针的数组,它会衰减到int **