函数指针

✍ dations ◷ 2025-07-01 14:50:55 #计算机技术

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


相关

  • 米诺环素米诺环素又称“二甲胺四环素”或“美满环素”,是一种广谱抗菌的四环素类抗生素。它能与tRNA结合,从而达到抑菌的效果。米诺环素比同类药物具有更广的抗菌谱,具有抑菌活性。因为
  • 荷属东印度群岛荷属东印度是指1800年至1949年荷兰人所统治的印度尼西亚。1596年,荷兰人霍特曼率领的一支荷兰船队到达爪哇岛的万丹。1603年,荷兰在爪哇建商站;1605年,征服盛产香料的马鲁古群岛
  • 左营慈济宫坐标:22°40′51″N 120°17′27″E / 22.68083°N 120.29083°E / 22.68083; 120.29083城邑左营慈济宫,简称城邑慈济宫、左营慈济宫,当地人俗称老祖庙,是一间位于高雄市左营区
  • 破地狱破地狱为香花僧或者喃呒师傅的丧礼科仪法事之一,意即打开地狱之门,其目的是引领逝者的亡灵早日逃离地府,进入轮回。相传源于民间传说的目连救母故事,目连罗汉因见亡母在地狱受苦
  • 托尼奖最佳音乐剧女主角托尼奖最佳音乐剧女主角授予在音乐剧中有卓越表现的女主角,包括新制作的剧目与旧剧新编的剧目。此奖项于1948年设立,但从1956年起才每届先公布提名名单。第1届第2届第3届第4届
  • 朱彝尊朱彝尊(1629年10月7日-1709年11月14日),字锡鬯,号竹垞,浙江嘉兴人,祖籍江苏吴江,明末清初政治人物,诗人、词人、经学家。明崇祯二年(1629年),八月二十一日生。先世江苏吴江人,明景泰四
  • 反锥体在几何学中,类锥体,又称类棱锥,是一种自身对偶多面体,并且包含有锥体与反柱体的点群。类锥体与锥体之关系可以算是反柱体与柱体之关系的一种类比。表示一个角锥反角柱锥体部分的
  • 1689年权利法案《权利法案》,全称《国民权利与自由和王位继承宣言》(An Act Declaring the Rights and Liberties of the Subject and Settling the Succession of the Crown),是英国政治性法
  • 张明正美国张明正(英语:Steve Chang,1954年-),生于台湾屏东市。辅仁大学数学系学士,美国理海大学硕士,世界知名防毒软件公司“趋势科技”的创始人,在2004年前一直担任该公司的首席执行官。2
  • 1994年世界杯足球赛1994年国际足联世界杯,于1994年6月18日到7月17日在美国举行。决赛中,此前分别三夺冠军的两只球队相遇,巴西在十二码中以 3–2 战胜了意大利,第四次捧起了世界杯奖杯。本届世界杯