函数指针

✍ dations ◷ 2025-11-21 20:02:47 #计算机技术

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


相关

  • 大仲马亚历山大·仲马(法语:Alexandre Dumas,发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000",
  • 环戊五酮环戊五酮也称为“五酮环戊烷”或“白酮酸”,是一种有机碳氧化物,其分子式为C5O5。这种化合物可看作是环戊烷的五羰基取代物或一氧化碳的五聚物。直至2000年,环戊五酮的大量合成
  • 荷尔荷尔(英语:Hor),埃及第十三王朝国王。他命令修缮位于达舒尔的阿蒙涅姆赫特三世的金字塔。其墓位于阿蒙涅姆赫特三世金字塔附近,保存完好。其木乃伊也已被发现,现藏开罗博物馆。
  • 多瑙哲罗鱼多瑙哲罗鱼,为辐鳍鱼纲鲑形目鲑科的其中一种。被IUCN列为濒危动物。本鱼分布于多瑙河流域。体延长,微侧扁,背腹部不隆起。头大,细长而尖,呈均匀的曲线型。口大,斜位而侧裂;上颌略长
  • 两院院士中华人民共和国两院院士制度是指与中国科学院和中国工程院一系列相关的制度。中国科学院与中国工程院因在中华人民共和国科技方面拥有崇高地位,所以常合称为“两院”;中国科学
  • 领鞭毛虫领鞭毛虫纲(学名:Choanoflagellate)是一种原生生物,是单细胞或群体。拥有一根鞭毛,形态类似于淡水海绵的群体,表面的酪氨酸激酶受体也类似于海绵,被认为是动物的姐妹群。领鞭毛虫的
  • 貂獴属貂獴属(学名 Galerella),是食肉目獴科下的一个属,产在非洲。
  • 玄部玄部,为汉字索引中文的部首之一,康熙字典214个部首中的第九十五个(五划的则为第一个)。就繁体和简体中文中,玄部归于五划部首;在简体中文中,所属汉字将分属亠部及幺部。玄部通常是
  • 奎斯特崖坐标:82°36′S 155°10′E / 82.600°S 155.167°E / -82.600; 155.167奎斯特崖(英语:Quest Cliffs)是南极洲的山崖,位于奥次地,属于地质学家岭的一部分,由新西兰探险队命名,该山崖
  • 伊东由佳里伊东由佳里(いとう ゆかり,1947年4月6日-),本名伊东信子,是日本的歌手、女演员,东京都品川区出生。从1960年代开始算上1970年代,风靡一时的日式流行歌曲第一人。以女性的、饱含爱的