先看一个例子
typedef void (*funcptr)(
void) 什么意思
这里是定义了一个指向参数为空,返回值为空的函数的指针类型。
定义一个函数指针类型。 比如你有三个函数: void hello(void) { printf(“你好!”); } void bye(void) { printf(“再见!”); } void ok(void) { printf(“好的!”); } typdef void (*funcptr)(void); 这样就构造了一个通用的函数 你用的时候可以这样: void speak(int id) { funcptr words[3] = {&hello, &bye, &ok}; funcptr fun = words[id]; (*fun)(); } 这样的话,如果speak(0)就会显示“你好!” speak(1)就会显示“再见!” speak(2)就会显示“好的!” 用于处理参数和返回值的形式都一样,但是功能不确定的一组函数,可以使用函数指针。
待补充(没明白!)
void hello(
void) { printf(
"你好!"); }
typedef void(*Fun)(
void);
Fun pFun =
NULL;
pFun = &hello;
pFun();
输出结果是: 你好!
转载请注明原文地址: https://ju.6miu.com/read-37364.html