一 基本概念
数组指针
数组指针:本质是一个指针,指向了一个数组,数组中的每个元素都是某种数据类型的值(比如 int 类型)。
int (*p)[n]; //定义了一个数组指针,指向一个大小为n的数组,数组中的每个元素都是int类型
数组指针也称行指针,也就是说,当指针p执行p+1时,指针会指向数组的下一行,如:
int a[3][4];
int (*p)[4]; //p是一个数组指针,指向了一个包含4个int型元素的数组
p=a; //将二维数组的首地址赋给p,即a[0]或a[0][0]
p++; //跨过第一行,p指向了a[1][0]
指针数组
指针数组:本质是一个数组,该数组中的每个元素都是一个指针。
int *p[n]; //定义了一个指针数组,数组大小为n,数组中的每个元素都是一个int*指针
指针数组是一个包含若干个指针的数组,p是数组名,当执行p+1时,则p会指向数组中的下一个元素。
int a[3][4];
int *p[3]; //定义了一个数组,该数组中有3个int*指针变量