函数指针

✍ dations ◷ 2025-11-24 17:09:49 #计算机技术

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


相关

  • 国鸟国鸟是国家的一种象征,以下的国鸟列表大多数为官方认定;但也有少数国家,例如中国大陆和台湾均无官方指定的国鸟。
  • 麦金农罗德里克·麦金农(英语:Roderick MacKinnon,1956年2月19日-),美国洛克菲勒大学分子神经生物学和生物物理学教授。因对细胞膜中的离子通道功能的物理化学属性的研究,尤其是X射线晶体
  • 搭嘴音搭嘴音(英语:click consonant),亦作吮吸音、咂嘴音、喌(拼音:zhōu,注音:ㄓㄡ)音等,是发音方法的一种,泛指口腔内任何一个发声部位发出的一种吸气声音。发音时口腔中两个位置同时闭塞。
  • QB1天体在天文学中,QB1天体(Cubewano)是指运行轨道在海王星之外,且不与大行星产生轨道共振的柯伊伯带天体。这类天体的半长轴在40-50天文单位之间,且不会切入海王星的轨道,有时也称为传统
  • 贩毒毒贩是指贩卖毒品牟利的人,在刑事上属于重大罪行,在许多尚未废死的国家或地区,可能会被判处死刑。其中操控大型非法毒品交易者称为毒枭,又称毒王,由于他们拥有复杂的犯罪网络,并有
  • 国际度量衡委员会国际计量委员会(法语:Comité international des poids et mesures,简称CIPM)由18个由国际计量大会任命,来自《米制公约》会员国的委员组成,他们主要的职责是以直接行动或向国际计
  • 保监会印章规定:直径5厘米,中央刊国徽,由国务院制发。中国人民银行中国银行业监督管理委员会中国证券监督管理委员会中国保险监督管理委员会(英语:China Insurance Regulatory Commissi
  • 羟甲基戊二酸单酰辅酶A(6-amino-9H-purin-9-yl)-4-hydroxy-3-(phosphonooxy)tetrahydrofuran-2-yl]-3,5,9,21-tetrahydroxy-8,8,21-trimethyl-10,14,19-trioxo-2,4,6-trioxa-18-thia-11,15-diaza-
  • 旁遮普邦共产主义革命委员会旁遮普邦共产主义革命委员会(Punjab Communist Revolutionary Committee),原为共产主义革命者全印协调委员会的巴廷达县委员会。当共产主义革命者全印协调委员会创建印度共产党
  • 麻城市麻城市是位于中国湖北省的一个县级市,地处湖北省东北部,位于大别山中段南麓,举水上游,鄂、豫、皖三省交界处,由黄冈市代管。麻城历史悠久,七千年前已有人群在举水流域生活。春秋时