什么是指向整数数组的指针
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 字节)
在这个例子中,它是什么意思?在我看来,对于数组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 字节)