在这个例子中,它意味着什么?在我看来,对于数组b[]
的所有地址,数组a[]
将相应地指向其所有位置?那么我们是按照以下方式编写的吗?
int (*a)[10];
int b[10];
a = &b;
答案 0 :(得分:1)
a
是指向10
int
数组的指针。 a=&b;
表示a
指向数组b
,即它包含b
的第一个字节的地址,它是数组b
的地址。
答案 1 :(得分:0)
这意味着a是一个指向10个int数组的指针。像这样的声明,其中指定了多个元素,用于指向二维数组。喜欢
int (*a)[10];
int b[][10];
a=b;
如果要创建指向一维数组的指针,则不需要这样的声明。如果你有一个10个整数的数组,你想要指向它,只需执行此操作
int *a;
int b[10];
a=b;
另外&数组上没有必要,因为b已经是数组中第一个元素的地址。 &安培;仅当您需要像int *a=&b[5];
答案 2 :(得分:0)
a是指向10个整数数组的指针。 所以,例如,一个++会增加一个 通过int的大小(即= 4个字节)