• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

怎么用指针指向一个函数地址?

发布于 2024-07-16 15:05:46

可以使用取地址符&来获取函数的地址,并将其赋值给一个指针变量。具体实现过程如下:

  1. 定义一个函数,例如:
int add(int a, int b)
{
    return a + b;
}
  1. 在代码中定义一个指针变量,例如:
int (*func_ptr)(int, int);
  1. 使用取地址符&来获取函数add的地址,并将其赋值给指针变量func_ptr,例如:
func_ptr = &add;
  1. 现在可以通过指针变量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的指针变量
0 条评论

发布
问题

在线
客服