函数指针数组的例子

来源:互联网 发布:永硕网盘源码 编辑:程序博客网 时间:2024/05/16 17:27

摘自《C语言深度剖析》
1、函数指针数组

#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 * (*pf[3])(char * p);    pf[0] = fun1; // 可以直接用函数名    pf[1] = &fun2; // 可以用函数名加上取地址符    pf[2] = &fun3;    pf[0]("fun1");    pf[0]("fun2");    pf[0]("fun3");    return 0;}

2、函数指针数组的指针

#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;}
0 0
原创粉丝点击