请C语言高手帮忙看一下

2025年02月22日 22:35
有1个网友回答
网友(1):

&函数名:就是取函数的地址。

但不是必须的,事实函数名本身就是指针。

&函数名=函数名 都是取函数地址,可以用函数指针接收。但两者大小不一样。前者4字节,后者1字节。

如果用指针接收后,调用也有2种方式:(*指针名)();   指针名();  这两种都可以。但个人偏向第一种,因为符合指针的理解。

我写了一个简单的案例,你参考:

#include 
void test()
{
    printf("我是函数test(),我被调用了!!\n");
}
int main()
{
    void (*pt)(),(*pt2)();//定义一个函数指针
    pt=&test;pt2=test;
    (*pt)(); pt();
    (*pt2)(); pt2();
     printf("&test的大小=%d,test的大小=%d\n",sizeof(&test),sizeof(test));
    return 0;
}