函数指针

✍ dations ◷ 2025-11-26 09:55:38 #计算机技术

函数指针是一种在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;}


相关

  • 根本原因根本原因,有时又称为根本、根因、根或本,是指导致某种结局或后果的因果关系链条的初始原因。通常,根本原因用于描述在因果链之中最深的层次;在这种层次才可能合理有效地实施某种
  • 伊凡雷帝伊凡四世·瓦西里耶维奇(俄语:Иван IV Васильевич,1530年8月25日-1584年3月18日),又被称为伊凡雷帝(俄语:Иван Грозный),俄罗斯沙皇国的开创者。留里克王朝
  • 蜣螂也被称为粪金龟、屎壳郎,是鞘翅目金龟子总科下的一个亚系群。大多数蜣螂属于金龟子科中的蜉金龟亚科(Aphodiinae)和金龟子亚科(Scarabaeinae),但是金龟子总科的掘穴金龟科(Geotrupi
  • 改革重组国有企业改革,是指中华人民共和国自改革开放以来对国有企业的形态,股权结构和基本制度进行的改革。计划经济时期,中国对国有企业实行“收支两条线”,国家为企业提供原材料并制定
  • 皖赣铁路.mw-parser-output .RMbox{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.mw-parser-output .RMinline{float:none
  • 登州府登州府,明朝时设置的府。明朝洪武九年(1376年)升登州置,治所在蓬莱县(今山东省蓬莱市)。辖境约当今山东省招远、莱西及海阳等市以东地区。属山东省。领一州:宁海州(领文登县一县),七县
  • 埃文河雅芳河(英语:River Avon),又译埃文河、艾芬河,源于英格兰格洛斯特郡南格洛斯特奇平索德伯里(Chipping Sodbury),流经威尔特郡。为了区别同名河流,此河又称“下雅芳河”或“布里斯托尔
  • 各国银产量列表本列表列出各国银年产量(2018年),根据美国地质调查局统计资料。
  • 坤帖木儿坤帖木儿(蒙古语:.mw-parser-output .font-mong{font-family:"Menk Hawang Tig","Menk Qagan Tig","Menk Garqag Tig","Menk Har_a Tig","Menk Scnin Tig","Oyun Gurban Ulus
  • 大桥誉志光大桥誉志光(日语:大橋 誉志光),日本男性动画导演、动画师、演出家。代表作是担任导演的《银河天使》系列、《魔女之刃》等。