用函数指针调用函数

#include <stdio.h>

int main(void){
    int n = 6;
    int square(int num); 
    int (*fptr)(int);  //声明函数指针
    fptr = square;   //初始化函数指针
    printf("%d square is %d.\n", n, fptr(n));
    return (0); 
} 
int square(int num){
    return (num * num);
}
#include <stdio.h>

double square(double x);  // 函数原型
double (*ptr)(double x);  // 声明函数指针

int main(void){
    ptr = square;  // 让指针指向square()
    
    //用两种方式调用square()
    printf("%f %f\n", square(6.6), ptr(6.6));
    return 0; 
} 

double square(double x){
    return x * x;
}
时间: 2024-12-29 05:41:22

用函数指针调用函数的相关文章

第十六周 【项目3-用函数指针调用函数】

问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *ALL right reserved *文件名:用函数指针调用函数 *作者:童宇 *完成日期:2014年12月16日 *版本号v1.0 *问题描述:用函数指针调用函数 *输入描述: *程序输出:用函数指针调用函数 */ #include <iostream> using namespace std; void eat(); void sleep(); void hitdoudou(); void run(void

根据函数名称---函数指针--调用函数

type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject) ; procedure CallMeByName(Sender: TObject) ; private procedure ExecMethod(OnObject: TObject; MethodName: string) ; end; var Form1: TForm1; type TExec = procedure of o

函数指针、函数指针数组

参考:百度百科 |函数指针|词条. 指针_函数,就不说了.自己感觉就是So-easy的.[ 声明格式:returnType *Function(arguments); ] 重点是 函数指针,以及突然冒出来的 函数指针数组;(特别说明,我习惯先写代码,再写注释:情况A:代码在左,注释向右.情况B:代码在上,注释在下.) 函数指针,我形象的描述 函数<-指针,(文中一切有问题请指正,谢谢).[声明格式: returnType(*pointer)(arguments); ] 举例: int fun(i

函数指针,函数指针数组,函数返回值为函数指针

函数的名字就是函数的首地址:定义函数指针; int (*p)(int ) p为函数指针变量名字,int 为函数的返回值类型为int型:(int)为函数的形参类型为int型, 注:因为优先级所以要用(*p),否则就会p先和后面的()结合为int*p(int),意思就变为p(int)函数的返回值为int* 注:main2()函数中   int (*p[])(int ,int )  为一维数组,下面写错了, #include<stdio.h> #include<stdlib.h> int

Day8 函数指针做函数参数

课堂笔记 课程回顾 多态 virtual关键字 纯虚函数 virtual func() = 0; 提前布局vptr指针 面向接口编程 延迟绑定 多态的析构函数的虚函数. 多继承的二义性 . 重载 重写 重定义. 实现多态的理论基础:函数指针做函数参数. vptr指针与虚函数表. 构造函数不应为虚函数 多态会降低程序的执行速度.不建议所有的函数都是虚函数. 多态时的指针步进. 多继承在项目开发中使用的比较少. linux从2.4内核升级到2.6的时候,做到了电源可以热插拔,提前将电源驱动的接口规划

再论函数指针、函数指针数组

一.基本概念 数组名:本质是指向数组第一个元素的常量指针,即数组首地址 函数名:本质是指向函数第一条指令的常量指针,即函数首地址 函数指针:保存了函数首地址,可以看做函数的别名 二.函数指针的声明方法 type (*func)(type &, type &) 1.该语句声明了一个指针func,它指向了一个函数: 2.该函数带有2个type型参数,并返回一个type型的值: p.s. tpye类型可以看做int或者float等C++类型 3.可以把整个函数看做一个数据类型 tpye func

16周(指针调用函数)

/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:16周(指针调用函数) *作者:王忠 *完成日期:2014.12.11 *版本号:v1.0 * *问题描述:按提示输入,通过指针调用函数,输出 *输入描述:1.2.3.4 *程序输出:输出各类 #include <iostream> using namespace std; void eat(); void sleep(); void hitdoudou(); void ru

C#委托与C语言函数指针及函数指针数组

C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用的时候通过指针访问这个函数. 在C语言中函数指针的申明如下: //可以理解为申明一个指着变量 Func ,它的类型是 返回Type(可以为 void )类型的参数,接收 (Type one,Type two,...)类型的//参数(可以不接受参数). Type *Func(Type one,Type

函数指针与函数指针数组的使用方法

转自:http://blog.csdn.net/feitianxuxue/article/details/7300291 函数指针与函数指针数组的使用方法 函数指针: 函数指针包含函数在内存中的地址.数组名实际上就是数组的第一个元素在内存中的地址,类似地,函数名实际上也是执行这个函数任务的代码在内存中的起始地址. 函数指针可以传递给函数.从函数返回.保存在数组中.赋予另一个函数指针或者调用底层函数. 下面我们用数值算法accumulate讨论下函数指针的用法.accumulate是一种常用的ST