函数指针

✍ dations ◷ 2025-09-17 19:26:14 #计算机技术

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


相关

  • LGBT权利美国对女同性恋、男同性恋、双性恋与跨性别者权益的保障随着时代发展愈趋成熟。根据美国联邦最高法院劳伦斯诉得克萨斯州案判决,同性恋自2003年起已为全国合法;而有关详细规定
  • 利尿药任何可以增加尿液量的药物皆可称为利尿剂(diuretic),其中也包括forced diuresis(英语:forced diuresis)。咖啡因、小红莓汁和酒精都是效果较弱的利尿剂。利尿剂种类有很多,增加水分
  • 顺-二氯·二氨合铂(Ⅱ)顺铂(Cisplatin,CDDP)是一种含铂的抗癌药物,即顺式-二氯二氨合铂(II),棕黄色粉末,属于细胞周期非特异性药物,对肉瘤、恶性上皮肿瘤、淋巴瘤及生殖细胞肿瘤都有治疗功效。它是第一个
  • 中国科学院上海药物研究所中国科学院上海药物研究所(英语:Shanghai Institute of Materia Medica, Chinese Academy of Sciences),创建于1932年,位于上海市浦东新区张江高科技园区。是中国科学院下属研究
  • 红树红树科(学名:Rhizophoraceae)是真双子叶植物金虎尾目的一科,约有18属,大约120种,常见的是水笔仔,绝大部分分布在东半球的热带和亚热带地区,都是常绿灌木或小乔木。中国只有6属共11种
  • 激光二极管激光二极管(LD)是一种激光产生器,其工作物质是半导体,属于固体激光产生器,大部分激光二极管在结构上与一般二极管相似。由于激光二极管的运作中,电子的能量转变过程只涉及两个能
  • 虎皮鹦鹉Psittacus undulatus Shaw, 1805虎皮鹦鹉(学名:Melopsittacus undulatus)又名背黄青鹦鹉、脊黄青鹦鹉或脊黄青鹦哥,俗称石燕、娇凤、彩凤、鹦哥、阿苏儿、五色小鹦鹉或长尾恋爱
  • 七海寓所坐标:25°04′40″N 121°32′14″E / 25.077845°N 121.537253°E / 25.077845; 121.537253七海寓所,位于台北市大直北安路,是中华民国故总统蒋经国的总统官邸。因官邸警卫室
  • 女歌手金奖“叱咤乐坛女歌手”是叱咤乐坛流行榜颁奖典礼每年的重点奖项,第一届即1988年起设立,至今共颁发93座,分为金、银、铜三个名次。此奖项赛果由全年叱咤903的播放率作依据,最后得出
  • 迪恩·亨德森迪恩·布拉德利·亨德森(英语:Dean Bradley Henderson;1997年3月12日-)是一位英格兰足球运动员,在场上的位置是守门员。他现时由英超球队曼联外借至英超球队锡菲联,并且也代表英格