数组指针和指针数组
1、数组指针
1.1 概念
数组指针:指向数组的指针
整型指针:指向数据类型是整型
字符指针:指向数据类型是字符串
数组指针:指向数组的指针
结构体指针:指向结构体的指针
1.2 定义
存储类型 数据类型 (*指针变量名)[元素个数];
存储类型:auto、static、extern、register
数据类型:指针所指向的数组中的元素的数据类型
指针的数据类型:数据类型 (*)[元素个数];
指针所指向的数据类型:数据类型 [元素个数];
元素个数:指针所指向的一维数组的元素个数
1.3 数组指针与一维数组之间的关系
注意:
数组指针几乎不操作一维数组,更多的是访问二维数组,因为指针只有操作连续的内存空间才有意义;如果操作的是一维数组,P+1就会越界
1.4 数组指针与二维数组之间的关系
2、指针数组
2.1 概念
元素类型为指针的数组
2.2 定义
存储类型 数据类型 数组名[元素个数];
int arr[5];//整型数组
存储类型 数据类型 * 数组名[元素个数];
int * arr[5];//定义了指针数组,该数组有5个元素,每一个元素都是int类型
2.3 指针数组与二维数组
pArr[i][j],*(*(pArr+i)+j),*(pArr[i]+j))均可
3、main函数传参
argc是外部输入的参数个数
argv[ ]是参数的字符串数组。