函数指针

✍ dations ◷ 2024-09-20 07:57: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;}


相关

  • 偏见异常心理学 行为遗传学 生物心理学 心理药物学 认知心理学 比较心理学 跨文化心理学 文化心理学 差异心理学(英语:Differential psychology) 发展心理学 演化心理学 实验心理学
  • 硬脂酸硬脂酸(IUPAC系统命名法:十八酸,英语:Stearic acid)是一种饱和脂肪酸。它是一种难溶于水的蜡状固体,化学式C18H36O2,可溶于乙醇和丙酮,易溶于乙醚、氯仿、四氯化碳、苯和二硫化碳等
  • 异硫氰酸盐异硫氰酸酯(Isothiocyanate)是一类通式为R-N=C=S的有机化合物,可看作是由异氰酸酯中的氧原子被硫替换后形成。异硫氰酸盐是硫氰酸根(SCN−)用氮原子配位时生成的化合物(M-N=C=S)。
  • 哈密顿算符量子力学中,哈密顿算符(英语:Hamiltonian,缩写符号:H或 H ^
  • span class=nowrapUOsub2/sub(NOsub3/sub)sub&g硝酸铀酰 (UO2(NO3)2),是一种易溶于水的黄色固体,有放射性。它的相对摩尔质量为394.04 g/mol(无水)。水合物为黄绿色的 六水合硝酸铀酰(UO2(NO3)2.6H2O),水合物结晶具摩擦发光(tribol
  • 欧洲疾病控制中心欧洲疾病预防控制中心 (European Centre for Disease Prevention and Control,ECDC)为欧洲联盟 (EU)的独立机构,负责强化欧洲传染病之预防。该中心成立于2004年,总部设于瑞典索
  • 两性离子两性离子(英语:zwitterion)是总电荷为0,电中性的化合物,又称内盐。虽然两性离子是电中性分子,但它却同时带有正负两种电荷,且带正电和负电的原子不同。有些化学家还认为两性离子中
  • 柳建伟柳建伟(1963年10月-),河南镇平人,中华人民共和国作家,中国人民解放军八一电影制片厂副厂长、中国作家协会和中国电影家协会成员、河南文学院院士。毕业于中国人民解放军信息工程学
  • 哈德逊湾公司哈德逊湾公司(英语:Hudson's Bay Company,HBC;法语:Compagnie de la Baie d'Hudson),旧译乞臣比公司或乞慎比公司,又称海湾百货公司(英文:The Bay;法文:La Baie),于1670年注册成立,是北美最
  • 瘟疫病毒属瘟疫病毒属()是黄病毒科的一个属。瘟疫病毒属的病毒主要感染哺乳动物,包括牛科和猪科的动物。瘟疫病毒属与动物的一些重大疾病有关,如猪瘟、牛病毒性腹泻和边界病等。