C语言中的函数指针(指向函数的指针)

逃离我推掉我的手 2022-12-19 13:12 318阅读 0赞

函数指针是什么?

在定义一个函数之后,在编译后,系统会为函数分配一段存储空间。

指针用来保存地址的,而函数指针也是一样,只不过保存的是函数存储空间的起始地址.

如何在C语言中使用函数指针

  • 函数指针的定义

    int (*p)(int,int);

int代表的是指针变量名,两个int代表,函数参数有两个,且都为int型,当然以上定义只为示例,需要根据不同的函数,指定不同的参数类型和参数个数。

  • 通过函数指针调用函数

我们先定义一个判断大小的函数

  1. int Max(int a,int b)
  2. {
  3. return a>b?1:0;
  4. }

通过指针变量,调用函数形式为(*p)(a,b)

  1. int main(int argc, char *argv[]) {
  2. // 定义函数指针
  3. int (*p)(int,int);
  4. // 让指针指向函数
  5. p = Max;
  6. //调用函数
  7. int result = (*p)(1,2);
  8. printf("%d",result);
  9. return 0;
  10. }
  • 函数指针作函数参数

函数指针也可以当作参数在函数之间传递

  1. int test(int (*a)(int,int),int (*b)(int,int))
  2. {
  3. return 0;
  4. }

发表评论

表情:
评论列表 (有 0 条评论,318人围观)

还没有评论,来说两句吧...

相关阅读

    相关 指向函数指针

    (一) 用函数指针变量调用函数   可以用指针变量指向整形变量、字符串、数组、结构体、也可以指向一个函数。一个函数在编译时被分配一个入口地址。这个入口地址就称为函数指针。可以

    相关 指向函数指针

    C/C++中的指针可以指向一个函数,也叫函数指针。 注:函数返回值是指针的叫指针函数,中心词在后面,即函数指针其实质是一个指针,指针函数其实质是函数。 还是以实例说话,下