本文主要介绍C语言函数指针的知识。这里编译了详细的信息和示例代码,供您参考。需要学习这部分知识的朋友可以参考一下。
一个函数总是占用一个连续的内存区域,函数名有时会被转换成表达式中函数所在内存区域的第一个地址,与数组名非常相似。我们可以把函数的第一个地址(或者入口地址)赋给一个指针变量,让指针变量指向函数所在的内存区域,然后通过指针变量找到并调用函数。这种指针是函数指针。
指针以下列形式定义:
returnType (*pointerName)(参数列表);
ReturnType是函数返回值类型,pointerNmae是指针名称,param list是函数参数列表。在参数列表中,可以同时给出参数的类型和名称,也可以只给出参数的类型,而省略参数的名称,这与函数原型非常相似。
注意()的优先级高于*,第一个括号不能省略。如果写返回类型*指针名(paramlist);它成为函数的原型,表明函数的返回值类型为returnType *。
【示例】使用指针调用函数。
#包含stdio.h
//返回两个数字中较大的一个
int max(int a,int b){
还ab?甲:乙;
}
int main(){
int x,y,maxval
//定义函数指针
int (*pmax)(int,int)=max;//也可以写int (*pmax)(int a,int b)
printf('输入两个数字:');
scanf('%d %d ',x,y);
maxval=(*pmax)(x,y);
printf('最大值:%d\n ',maxval);
返回0;
}
运行结果:
输入两个数字:10 50
最大值:50
第14行代码调用函数。Pmax是一个函数指针。在它前面加*表示调用它所指向的函数。注意()优先于*,第一个括号不能省略。
以上是C语言函数指针的数据整理,后续我们会继续补充相关数据。感谢您对本站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。