函数指针

✍ dations ◷ 2025-12-06 18:03:04 #计算机技术

函数指针是一种在C、C++、D语言、其他类 C 语言和Fortran 2003中的指针。函数指针可以像一般函数一样,用于调用函数、传递参数。在如 C 这样的语言中,通过提供一个简单的选取、执行函数的方法,函数指针可以简化代码。

函数指针只能指向具有特定特征的函数。因而所有被同一指针运用的函数必须具有相同的参数和返回类型。

C语言标准规定,函数指示符(function designator,即函数名字)既不是左值,也不是右值。但C++语言标准规定函数指示符属于左值,因此函数指示符转换为函数指针的右值属于左值转换为右值。

除了作为sizeof或取地址&的操作数,函数指示符在表达式中自动转换为函数指针类型右值。因此通过一个函数指针调用所指的函数,不需要在函数指针前加取值或反引用(*)运算符。

以下为函数指针在C/C++中的运用

/* 例一:函式指標直接呼叫 */# ifndef __cplusplus    # include <stdio.h># else    # include <cstdio># endifint max(int x, int y){    return x > y ? x : y;}int main(void){    /* p 是函式指標 */    int (* p)(int, int) = & max; // &可以省略    int a, b, c, d;    printf("please input 3 numbers:");    scanf("%d %d %d", & a, & b, & c);    /* 與直接呼叫函式等價,d = max(max(a, b), c) */    d = p(p(a, b), c);     printf("the maxumum number is: %d\n", d);    return 0;}


相关

  • α溶血性溶血性(Hemolysis,来自希腊文αιμόλυση)指的是红血球的被破坏现象,分为α、β、γ三种。溶血现象通常由微生物引起;在实验室里,以血基琼脂培养皿培养,能分辨出不同溶血性
  • picogram为了帮助比较理解不同的质量数量级,在下面列出了列出了质量从10−36 kg 到1052 kg的事物。
  • 中国大陆2019冠状病毒病中国大陆疫情有以下的分页:
  • 阿拉维阿拉维王朝 (英语:Alaouite, or Alawite,阿拉伯语:سلالة العلويين الفيلاليين‎),摩洛哥王朝,建立于1631年,现任国王穆罕默德六世是该王朝的第22位君主。十
  • 北高加索动乱俄罗斯伊斯兰国北高加索起义是俄罗斯与高加索酋长国的武装分子之间的武装冲突,伊斯兰国从2015年6月开始涉入。历时10年之久的第二次车臣战争在2009年4月16日正式结束,但冲突却
  • 儒格Mini-14半自动步枪半自动鲁格Mini-14(英语:Ruger Mini-14)、鲁格Mini-30(英语:Ruger Mini-30)和鲁格Mini-6.8(英语:Ruger Mini-6.8)是一系列由美国枪械公司斯特姆,鲁格公司(Sturm Ruger)以M1卡宾枪及M14自
  • 5s2 2,8,18,8,2蒸气压 第一:549.5 kJ·mol−1 第二:1064.2 kJ·mol−1 主条目:锶的同位素 锶(Strontium,旧译作鎴)是一种化学元素,它的化学符号是Sr,它的原子序数是38,属于周期表的2A
  • 信号转导接头蛋白信号转导接头蛋白或信号转导衔接蛋白(英语:Signal transducing adaptor proteins)是信号转导通路中的重要蛋白质。接头蛋白上有着各种能与其它蛋白结合的结构域,能形成各种信号
  • 克日什托夫·基斯洛夫斯基第67届奥斯卡最佳导演(提名) 蓝白红三部曲之红第48届英国电影学院奖 最佳导演(提名) 蓝白红三部曲之红第48届英国电影学院奖 最佳改编剧本(提名) 蓝白红三部曲之红第41届戛
  • 御坂美琴御坂美琴(日语:御坂美琴/みさか みこと )是《魔法的禁书目录》的第二女主角,科学侧女主角之一,也是本作外传《某科学的超电磁炮》的第一主角。该角色荣获“这本轻小说真厉害!”20