【发布时间】:2012-10-18 16:04:25
【问题描述】:
下面是二维数组的例子。
int s[5][2] = {
{0, 1},
{2, 3},
{4, 5},
{6, 7},
{8, 9}
};
int (*p)[2];
如果我写p = &s[0]; 没有错误。但是如果我写p = s[0]; 就会出错,即使&s[0] 和s[0] 会给出相同的地址。
请让我知道为什么会有差异,即使两者都提供相同的地址。
【问题讨论】:
-
为了使问题完整,最好发布您收到的错误消息。
-
С 是一种类型化 语言,这意味着它严格控制所分配值的类型。仅仅因为两个地址相同并不意味着它们在类型上是兼容的。
标签: c arrays pointers multidimensional-array