函数指针

✍ dations ◷ 2025-11-26 22:23:08 #计算机技术

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


相关

  • 间充质干细胞间充质干细胞(mesenchymal stem cell, MSC),泛指一类存在于骨髓、脂肪组织等位置的一系列能够贴附在塑料表面生长、具有一定分化潜能的细胞群。根据国际细胞治疗协会2005年提出
  • 二十碳五烯酸二十碳五烯酸(英语:Eicosapentaenoic acid, EPA)是有五个双键的多元不饱和脂肪酸(C20H30O2),是一种ω-3脂肪酸。在人类饮食中,这种脂肪酸主要来源于食用脂肪含量高的鱼类和鱼油,例如
  • 临高话临高语,又称临高话,是海南岛北部临高人所使用的一种语言,属于侗台语系,使用人数约60万。尽管临高人被认为是汉族人,但临高话并非汉语的一种。临高语一般分成东西两种方言:15-17个
  • 富勒顿加州州立大学富勒顿分校(California State University, Fullerton,或称:CSUF、Cal State Fullerton或Fullerton State)是位于美国加利福尼亚州富勒顿的一所公立大学,隶属于加利福
  • 约翰·C·布雷肯里奇约翰·卡贝尔·布雷肯里奇(John Cabell Breckinridge,1821年1月16日-1875年5月17日),美国政治家,美国民主党成员,曾任美国众议院议员(1851年-1855年)、美国副总统(1857年-1861年)、美国
  • 第三次广治战役南越海军陆战师:3,658人阵亡 总共:7,756人阵亡美国等国正式介入之后美国撤出至南越灭亡第二次广治战役,(越南语:Trận Thành cổ Quảng Trị,英语:Second Battle of Quảng Trị
  • 袁州区袁州区(拼音:Yuanzhou Qu)是中国江西省宜春市所辖的一个市辖区。袁州区面积2532平方千米。2003年底,总人口95.8万人。区人民政府驻中山西路。邮编:336000。行政区划代码:360902。
  • 海王龙属海王龙属(属名:)又名瘤龙、节龙,意为“鼻部呈球状的蜥蜴”,属于沧龙科,是巨型的沧龙类,它们与现代巨蜥、蛇有接近亲缘关系。在阿拉巴马州的Eutaw组与Mooreville白垩层中,海王龙偏好
  • 铜鼓客语本文属于客家系列的一部分铜鼓客语,或称客家语铜鼓片,是汉藏语系汉语族客家语的一个支系,主要分布在中国江西省西北部及湖南省东部地区。对于客家语的划分一般有两个版本,而此片
  • 有形数有形数是可以排成有一定规律形状的数。有形数是毕达哥拉斯学派的关注重点之一,他们认为数和形有不可分割的关系。有形数都是自然数,它们可以用小石子堆砌。有形数是将数形象化