&函数名:就是取函数的地址。
但不是必须的,事实函数名本身就是指针。
&函数名=函数名 都是取函数地址,可以用函数指针接收。但两者大小不一样。前者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;
}