函数指针

✍ dations ◷ 2024-12-22 19:32:04 #计算机技术

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


相关

  • 肺鱼类肺鱼亚纲(学名:Dipnomorpha)是硬骨鱼类的一个类群的鱼,出现在距今约4亿年前,是现存最古老的鱼类之一。肺鱼颌为自接式,平时用鳃呼吸,在干涸时可以用鳔当作肺呼吸,膘在食道处有一开口
  • 顶底在女同性恋亚文化中,“顶”(T、Butch)、“底”(P、Femme)是用来赋予或承认男性化、女性化身份及其相关特征、行为、风格、自我认知等的术语。这些术语是在20世纪的女同性恋群体中
  • 意识异常心理学 行为遗传学 生物心理学 心理药物学 认知心理学 比较心理学 跨文化心理学 文化心理学 差异心理学(英语:Differential psychology) 发展心理学 演化心理学 实验心理学
  • 小隐孢子虫小隐胞子虫(学名:Cryptosporidium parvum)是引起隐胞子虫病的其中一种病原寄生虫,主要寄生在哺乳动物的肠道。感染的主要途径是饮用了含小隐胞子虫卵囊(Oocysts)的水所引起。在
  • 天主的羔羊天主的羔羊(拉丁语:Agnus Dei;英语:Lamb of God;或译上帝的羔羊、神的羔羊),是基督教中耶稣的称号之一,出自福音书作者约翰所著《约翰福音》第1章第29节记载的施洗者约翰(天主教汉译:
  • 顾嗣立《清代学者像传》之《顾嗣立像》顾嗣立(1669年-1722年),字侠君,又字闾丘,江苏长洲县(今属苏州市)人。清朝诗人。顾予咸之子。清圣祖康熙八年生,少年失学,二十岁始学诗,好宾客,成立“酒人
  • 凯利凯利、凯莉(Hurley、Callea、Carey、Carrie、Cayley、Kylee、Kelley、Kelly)可以指:
  • 甘草演员甘草演员是指年纪及年资较高的绿叶演员,他们有多年的演出经验,演技已获得广泛的观众认同和肯定。他们经常饰演主角的父母、长辈、老板或经验老手等。不少甘草演员在年轻时为红
  • 黑身下眼鲿黑身下眼鲿,为辐鳍鱼纲鲶形目鲿科的其中一种,为热带淡水鱼类,分布于亚洲印度喀拉拉邦Manimala河流域,体长可达23.5公分,栖息在溪流底层水域,生活习性不明。 维基物种中有关黑身下
  • 业姓业姓,是一个中文姓氏。南京的江宁禄口镇,一个家族有业氏家谱。《姓苑》载,宜为古掌巨业之官,以职为氏。洞庭安仁里业氏族谱。