C语言一些易混淆的概念

①数组指针和指针数组

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);

 

posted @ 2018-03-25 10:23  99度的水  阅读(227)  评论(0编辑  收藏  举报