指针的数组,该指针指向一个函数,该函数有一个整形参数并返回一个整型数(数组指针 指针数组)"/>
一个有10个指针的数组,该指针指向一个函数,该函数有一个整形参数并返回一个整型数(数组指针 指针数组)
依照题意依次写出即可:
一个有10个指针的数组:*a[10];
该指针指向一个函数:(*a[10])();
该函数有一个整形参数: (*a[10])(int);
并返回一个整型数: int (*a[10])(int)
所以int (*a[10])(int)就是答案。
阅读这种表达式的时候可以遵循以下的规则:从右向左,由近及远,括号优先;比如从a符号开始。其右边是[10],说明a是个数组,其中存了十个元素。再看a的左边是一个*。说明数组中存的是指针。现在在看(*a[10])的右边是(int);说明所存的指针是指向有一个int形参的函数现在看(*a[10])的左边是个int ,说明指向的函数的返回值为int 类型。
注意: 指向数组的指针和指针数组
int *a[10]: a是一个数组,该数组的元素是指针,每个指针都指向一个int型
int (*a)[10]:a是一个指针,该指针指向一个数组,数组元素是int
再看几个例子
例一:int (*a[10])(int)
1. a是一个数组 2. a这个数组的元素是一个指针 3. 指针是一个函数指针 4. 这个函数参数是int,返回值是int
例二:int (*(*p)[10])(int*)
1. p是一个指针 2. p这个指针指向一个数组 3. 数组元素是指针 4. 数组元素的指针指向一个函数 5. 这个函数参数是int*,返回值是int
例三:
int *a[10]; 指向int类型的指针数组a[10]
int (*a)[10]; 指向有10个int类型的数组的指针a
int (*a)(int);函数指针,指向有一个参数并且返回类型均为int的函数
int* a(int); 定义一个int参数并且返回类型为int*的函数
int (*a[10])(int); 函数指针的数组,指向有一个参数并且返回类型均为int的函数的数组
更多推荐
一个有10个指针的数组,该指针指向一个函数,该函数有一个整形参数并返回一个整型数(数组指针 指针数组)
发布评论