函数指针

✍ dations ◷ 2025-12-09 13:30:06 #计算机技术

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


相关

  • 石梯坪坐标:23°29′31″N 121°30′25″E / 23.49205°N 121.506814°E / 23.49205; 121.506814石梯坪(阿美族语:Tidaan),台湾东海岸一处旅游景点,位在花莲县丰滨乡港口村以北约2公里处
  • 火焰崇拜火焰崇拜,是人类历史上不同时期对火的崇拜。火被视为神圣,清除不洁、善与智慧的象征。南亚伊朗地区的祆教来自于上古希腊人的火焰崇拜,火被视为清浄、正义、真理。在古印度,火是
  • 超出许可之应用美国食品药品监督管理局(英语:U.S. Food and Drug Administration,缩写为FDA)为美国卫生与公众服务部直辖的联邦政府机构,其主要职能为负责对美国国内生产及进口的食品、膳食补充
  • 单宁鞣质(英语:tannin)音译作单宁或丹宁,通称鞣酸、或单宁酸,是植物细胞的单宁体中的一种防卫用化学成分,用来封锁蚜虫的口腔以收防止蚜虫的攻击之效,鞣质也可以保护植物免受紫外线的伤
  • 东乡平八郎东乡平八郎(日语:東郷平八郎/とうごう へいはちろう ?,1848年1月27日-1934年5月30日,即弘化4年12月22日-昭和9年),讳名实良,大日本帝国元帅海军大将,从一位大勲位功一级侯爵。在对马海
  • Echiura见内文螠虫目(学名:Echiuroidea),亦作螠目,旧作螠虫动物门或螠虫动物纲(Echiura),是动物界环节动物门的一类生活中海洋中的底栖动物。主要生活在浅海的泥沙中、岩石缝中以及珊瑚礁或
  • 科路美拉科鲁迈拉(英语:Columella,4年-70年)。来自加的斯。著有12卷的《论农业》,主要以散文体写成, 只有卷十以六音步的格律写成。他还有一部篇幅较为短小的有关农业的小册子,其中有关树木
  • 农产品展示中心农产品展售中心,由国立台湾大学生物资源暨农学院附设农业试验场(台大农场)经营,贩售台大农场之农产品及各地农会之农特产品。农产品展示中心贩卖台大农场的产品,包含乳制品、冰品
  • 优胜美地瀑布优胜美地瀑布(Yosemite falls),是北美洲落差最大的瀑布,位于美国加州内华达山脉,属于优胜美地国家公园,其最壮观的季节在春末,水量充沛,气势惊人。又译为约塞米蒂瀑布。优胜美地瀑布
  • 塞勒姆 (俄勒冈州)塞勒姆 (英语:Salem)是美国俄勒冈州州府、马里昂县县治。位于该州西北部、威拉米特河畔。此地人口约15万,是仅次于波特兰的第二大城市,与周边的凯泽尔、伍德伯恩及达拉斯一起形成