函数指针

✍ dations ◷ 2025-12-02 16:34:22 #计算机技术

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


相关

  • 甲状腺机能低下症甲状腺机能低下症(Hypothyroidism),又称作甲状腺功能减退症,或是简称甲减,是一个因甲状腺无法分泌足够的甲状腺激素的内分泌疾病。此病可以造成很多症状,像是畏寒、疲劳、便秘、抑
  • 魔戒三部曲:王者再临《指环王:王者归来》(英语:The Lord of the Rings: The Return of the King),是一部于2003年上映的史诗奇幻电影,由彼得·杰克逊执导,此片是根据J·R·R·托尔金的奇幻小说《魔戒》
  • 东亚青年运动会东亚青年运动会(简称东亚青运;英语:East Asian Youth Games,缩写:EAYG),是由东亚奥林匹克委员会协会所推动的地区综合性运动会,参赛国家或者地区包括东亚运动会总会成员、非正式成员
  • 黑豆黑豆可以指:
  • 聂鲁达聂鲁达可以指:
  • 侯自新侯自新(1941年8月-),出生于上海市,曾任南开大学校长、数学系教授。1967年于南开大学数学系研究所毕业,1995年起任南开大学校长。并任中国数学学会副理事长,他在数学研究上,集中于李
  • 马德雷塞拉玛瑞(英文:Sierra Madre),是美国加利福尼亚州洛杉矶县下属的一座城市。建市于1907年2月2日,面积 大约为2.95平方英里 (7.6平方公里)。根据2010年美国人口普查,该市有人口10,91
  • 乌通蓬乌通蓬·玛哈·蓬披尼(泰语:อุทุมพรมหาพรพินิต,1715年4月13日-1796年10月21日),又译武通贲,泰国阿瑜陀耶王朝国王,1758年曾短暂在位两个月。越南史料称之为昭督。
  • 欧典院线欧典 电影公司在英国和爱尔兰运营, UCI电影院 也属于欧典院线。欧典这一知名品牌,于1930年最初进入英国。第一家欧典影院是由Oscar Deutsch在1928年在斯塔福德开始运营,最初
  • 2012年刚果东部冲突 3月23日运动 涉嫌的支持者:  卢旺达 200人死 3人死2012年刚果东部冲突是2002年刚果民主共和国北基伍省在第二次刚果战争后的新冲突。2012年4月,图西族士兵开始反抗刚果民