①数组指针和指针数组
1. 数组指针用于指向一个数组,数组名是数组首元素的地址(数组名为数组首元素类型且指向首元素的指针,如int array[5] ,array为指向array[0]的指针且类型为int*)
int testArray[5] = {1, 2, 3, 4, 5}; int (*pTestArray)[5] = &testArray; int *pTest = testArray;
2. 指针数组是一个普通的数组,数组中每个元素都是指针
int* testArray[5];
②易混淆的定义
1. 定义一个数组指针
int (*ptr)[5]; <==> int (*)[5] ptr;
2. 定义一个函数指针
int (*ptr)(int i); <==> int (*)(int i) ptr;
3. 定义一个函数指针数组
int (*pArray[5])(int i)
4. 定义一个函数指针数组指针
int (*(*pf)[3])(int i);