可以使用取地址符&来获取函数的地址,并将其赋值给一个指针变量。具体实现过程如下:
int add(int a, int b)
{
return a + b;
}
int (*func_ptr)(int, int);
func_ptr = &add;
int result = func_ptr(1, 2); // result的值为3
需要注意的是,如果函数返回值类型不是void,则需要在定义指针变量时指定返回值类型,例如:
int (*func_ptr)(int, int) = &add; // 正确
int (*func_ptr2)(int, int) = add; // 错误,add返回值类型是int,不能直接赋值给返回值类型为void的指针变量