函数名其实是一个地址
int main()
{
printf("%p\n",main);
//打印的是一个地址
}
函数指针的定义:
void print_message()
{
printf(" 函数\n");
}
int main()
{
//函数指针的定义,返回值(*指针变量名)(参数列表)
void (*p)();
p = print_message;
p();
return 0;
}
定义一个指针指向函数,需要进行类型强转
void print_message()
{
printf(" 函数\n");
}
int main()
{
/*
void *func_pointer = main;
func_pointer = print_message;
func_pointer();
上面没有进行类型强转,不能运行
*/
void *func_pointer = main;
func_pointer = print_message;
((void(*)())func_pointer)();//类型强转
return 0;
}