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