C语言函数指针怎么用

C语言函数指针怎么用

这篇文章主要介绍“C语言函数指针怎么用”,在日常操作中,相信很多人在C语言函数指针怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言函数指针怎么用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

定义方法

对于一个函数如下:

<返回值类型>func(<参数1类型><参数1>,...)

其函数指针的格式为

<返回值类型>(*<指针名>)(<参数1类型><参数1>,...)

如下是实例:

定义如下一个函数指针

intmain(intargc,char*argv[]){double(*a)(intn1,intn1)=NULL;}

这里a的含义是指向参数为整型n1,整型n2,返回值为double的函数的指针,实操中可以省略参数名,只留下参数类型,如下:

double(*a)(int,int)=NULL;

而如下是指向返回值为指针类型的函数:

double*(*a)(double*,int)=foo;

赋值方法

函数名其实就是函数的地址,我们只需要将这个地址赋值给函数指针即可,如下

#include<stdio.h>double*foo(double*a,intb){returna;}intmain(intargc,char*argv[]){double*(*a)(double*,int)=foo;}

通过调试,我们可以轻松看到foo和a的值:

用途

函数指针a可以作为另外一个函数b的变量,实现在函数b中运行函数a

函数指针可以作为结构体的一个域,就像C++中的类函数一样

到此,关于“C语言函数指针怎么用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

发布于 2022-01-06 23:31:05
收藏
分享
海报
0 条评论
44
上一篇:C语言责任链模式代码怎么写 下一篇:Python的特性都有哪些
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码