数组指针,指针数组与数组名的指针操作

1. 指针的算术运算

一个指针和一个整数量进行算术运算时,会根据合适的大小进行调整,这个“合适的大小”就是指针所指类型的大小,“调整”就是把整数值和“合适的大小相乘”。

2. 指针数组与数组指针

指针数组是数组, 由于 [] 优先级高于*,所以 int *a[10]表示指针数组。

数组指针是指针,所以 int (*p)[10],p表示指针,p指向一个有10个int的数组。

3. 指针运算在数组中的作用

二维数组的数组名是一个数组指针。

int a[4][10];
int *(p)[10] = a;

int a[10];
int (*p)[10] = &a; // a的类型为 int*, &a的类型为 int (*)[10]

指针数组在高维数组中的运用

假设声明数组 int a[4][5];

a的第一个元素为 a[0], a表示数组首元素的地址,即指向数组首元素a[0]的指针

a[0]数组的第一个元素是a[0][0],a[0]表示数组a[0]首元素a[0][0]的指针。

&a表示数组a的首地址

则有



猜你喜欢

转载自blog.csdn.net/u010982765/article/details/79789397