函数指针

✍ dations ◷ 2025-04-04 05:14:56 #计算机技术

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


相关

  • 雌性化雌性化 (Feminization) 生物体之所以会发生雌性化的原因,是因为生物体遭受环境贺尔蒙进入身体产生作用而产生的基因伤害。许多人为制品在经过焚化炉焚烧之后就会产生环境贺
  • 中乘辟支佛(梵语:प्रत्येक बुद्ध,转写:Pratyeka-buddha,巴利语:Pacceka-buddha),佛教术语,其梵语音译为钵剌翳迦佛陀,俗语音译为辟支迦佛陀,或简称为辟支迦佛、辟支等,意译为独
  • 米浆米浆,又作米奶,一种植物奶,是由米和花生为主要材料所制作而成的饮品,不同于豆浆,颜色比较深,呈现咖啡色,口感较浓稠。在中式早餐店是热门的饮品,近来在部分台湾西式早餐店也有提供米
  • 希罗数学上,希罗平均数是指两个非负的实数的一种平均,它的公式为希罗平均数也可以看成算术平均数与几何平均数的加权平均数。它以希罗命名,用以计算棱台或圆台的体积,此体积等于棱台
  • 龙卷龙卷风,又称龙卷、卷风,是一种猛烈的天气现象,由直立中空管状的强烈旋转气球构成。龙卷风常发于积雨云或是积雨云以下,并通常形成上大下小的漏斗状,延伸至地面,并且常被尘土或碎片
  • 美国犹太人核心犹太人口:5,425,000 (2012年)扩大的犹太人口 (含犹太人的非犹太裔亲属)6,721,680 (2012年)美国犹太人为具有犹太信仰或犹太血统的美国人。也是犹太人口最多的国家。美国犹太社
  • 脊神经节背根神经节(或脊髓神经节也称为后根神经节),是一群位于脊髓后根神经的神经细胞体(神经节)。背根神经节包含传入感觉神经元的细胞体。背根神经节神经元的轴突被称为传入神经。在周
  • 伦敦交通伦敦交通(英语:Transport in London)指的是大伦敦地区的交通状况。伦敦是英国的公路、铁路、航空等交通网的枢纽,交通十分发达。伦敦希思路机场是世界最繁忙的机场之一。伦敦现
  • 水利产业水利产业提供家庭及工厂饮用水以及废水的服务(包括污水处理)。范畴主要包括:原水的开发与利用、供(用)水系统操作服务、残余物质处理服务、先进造水处理技术研发。现代水利产业凭
  • 银白杨银白杨(学名:)通称白杨,为杨柳科杨属的植物。喜光,根系发达,木材轻软,可供观赏。落叶乔木,高可达35米。灰白色树皮;芽、幼枝、叶下面及叶柄均密被白色绒毛;宽卵形、三角状卵形(长枝上)