首页 > 编程语言 > 详细

用typedef给函数指针数组定义一个简单的名称

时间:2021-06-28 20:05:03      阅读:33      评论:0      收藏:0      [点我收藏+]

函数指针数组可以用来储存函数,很方便,实例如下:

#include<stdio.h>

int fun1(int a, int b) {
    return a + b;
}
int fun2(int a, int b) {
    return  a - b;
}
int main() {
    int (*funs[5])(int, int);
    funs[0] = fun1;
    funs[1] = fun2;
    printf("%d\n", funs[0](10, 5));
    printf("%d\n", funs[1](10, 5));

    return 0;
}

但是` int (*funs[5])(int, int); `这样的写法,看起来有些复杂

可以用typedef 来解决这个问题

只需定义一个简单的名称:typedef int(*name)(int, int);

要申请函数指针数组的时候,像申请常规的变量一样就可以:name funs[5];

 

上面的程序,可以写成这样:

#include<stdio.h>

int fun1(int a, int b) {
    return a + b;
}
int fun2(int a, int b) {
    return  a - b;
}

typedef int(*name)(int, int);

int main() {
    name funs[5];
    funs[0] = fun1;
    funs[1] = fun2;
    printf("%d\n", funs[0](10, 5));
    printf("%d\n", funs[1](10, 5));

    return 0;
}

 

用typedef给函数指针数组定义一个简单的名称

原文:https://www.cnblogs.com/zq10/p/14945827.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!