c语言学习笔记分享:13 函数指针数组的指针

3383 人浏览 | 时间: 2016-01-09 21:43:16 | 作者: 烫烫烫烫烫烫烫烫

发现一个程序员专属的导航网站,你肯定不知道,是时候告诉你了,请前去看看吧

下面就定义一个简单的函数指针数组指针:

char * (*(*pf)[3])(char * p);

 这里的 pf 确实是实实在在的指针。这个指针指向一个包含了 3 个元素的数组;这个数字里面存的是指向函数的指针;这些指针指向一些返回值类型为指向字符的指针、参数为一个指向字符的指针的函数。其实你不用管这么多,明白这是一个指针就 ok 了。

下面列一个简单的例子:


#include <stdio.h>
#include <string.h>
char * fun1(char * p)
{
printf("%s\n",p);
return p;
}
char * fun2(char * p)
{
printf("%s\n",p);
return p;
}
char * fun3(char * p)
{
printf("%s\n",p);
return p;
}
int main()
{
char * (*a[3])(char * p); char * (*(*pf)[3])(char * p); pf = &a;
a[0] = fun1; a[1] = &fun2; a[2] = &fun3;
pf[0][0]("fun1");
pf[0][1]("fun2");
pf[0][2]("fun3");
return 0;
}




标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读