4.15 定义与调用一个函数指针时的几种方式

//定义与调用一个函数指针时的几种方式
#include <stdio.h>

void print(void)
{
    printf("hello world!\n");
}

int main(void)
{
#if 0 //正确。推荐这样用
    void(*p)(void) = print;
    p();
#endif
#if 0 //取不取&都一样,跟数组类似,不推荐这样用
    void(*p)(void) = &print;
    p();
#endif

#if 0 //取不取*都一样,不推荐这样用
    void(*p)(void) = &print;
    (*p)();
#endif

#if 1 //错误
    void(*p)(void) = &print;
    *p();//直接报错,优先级问题导致错误解析
#endif

    return 0;
}

猜你喜欢

转载自www.cnblogs.com/ZhuLuoJiGongYuan/p/9509881.html