C 函数指针 转移表

函数指针

转移表

/***********************************************
*
* \Filename    funcptr_shift_tbl.c
*
* \Author      XXX from Xidian
*              2550572497@qq.com
*
* \Desc
*
* \Modified History
*
*
* \CreateTime  2017-11-28 20:24:58
*
***********************************************/
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

double add_(double x, double y);
double sub_(double x, double y);
double mul_(double x, double y);
double div_(double x, double y);

double (*oper_func[])(double x, double y) = {add_, sub_, mul_, div_};

int main(int argc, char* argv[])
{
    double x = 3.1, y = 3.2;
    for(int i=0; i<4; i++) {
        oper_func[i](x, y);
    }
    
    return 0;
}


double add_(double x, double y) {
    printf("x+y = %lf\n", x+y);
    return x+y;
}

double sub_(double x, double y) {
    printf("x-y = %lf\n", x-y);
    return x-y;
}

double mul_(double x, double y) {
    printf("x*y = %lf\n", x*y);
    return x*y;
}

double div_(double x, double y) {
    printf("x/y = %lf\n", x/y);
    return x/y;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容