什么是指向整数数组的指针

What is pointer to array of integers

在这个例子中,它是什么意思?在我看来,对于数组b[]的所有地址,数组a[]将对应地指向它的所有位置?那我们是不是按照下面的方式来写呢?

int (*a)[10];  
int b[10];  
a = &b;

a 是指向 10 int 数组的指针。 a=&b;表示a指向数组b,即b的第一个字节的地址是数组b的地址。

这意味着a是一个指向10个整数数组的指针。像这样指定元素数量的声明用于制作指向二维数组的指针。喜欢

int (*a)[10];
int b[][10];
a=b;

如果您要创建指向一维数组的指针,则不需要这样的声明。如果你有一个包含 10 个整数的数组,并且你想指向它,只需这样做

int *a;
int b[10];
a=b;

此外,& 在数组上不是必需的,因为 b 已经是数组中第一个元素的地址。 & 仅在您需要数组特定成员的地址时才需要,例如 int *a=&b[5];

a 是指向 10 个整数数组的指针。 因此,例如,a++ 将增加 a 按 int 的大小(即 = 4 字节)