c语言函数指针使用范例

C语言函数指针详解 C语言函数指针 一、什么是函数指针 1.理解函数指针 ​ 函数指针,首先根据他的名称我们就大概可以了解到他是一个指针,是什么样的指针呢?是和函数有关的一种特殊的指针。 ​ 我们知道 int*p 是指向int型变量的指针,char*p是指向char型变量的指针,那么不难理解,函数指针就是一个指向函数的指针。 int arr[10]={0}; int *p = arr; ​ 我们知道,在数组中数组名就是首元素的地址。 ​ 那么试着猜猜看,函数的地址是什么样的情况呢。 ​ 我们不妨打印一下看看结果是什 阅读详情
#include <stdio.h>
#include <stdlib.h>

void function1(int);
void function2(int);
void function3(int);
int main(int argc, char *argv[])
{  
   void (*f[3])(int) ={function1,function2,function3};//??? 
   int choice;
   
   printf("enter a number between 0,23 to end\n");
   scanf("%d",&choice);
   
   while(choice>=0&&choice<3){
          (*f[choice])(choice); //为什么这样调用? 
          printf("enter a number between 0 and 2,3 to end"); 
          scanf("%d",&choice);                   
   }
   
   printf("you entered 3 to end");
   system("PAUSE");	
   return 0;
}

void function1(int a){
   printf("you entered %d so function1 is called\n\n",a);
}
void function2(int b){
   printf("you entered %d so function2 is called\n\n",b);
}
void function3(int c){
   printf("you entered %d so function3 is called\n\n",c);
}

 
C语言函数指针 函数指针本质上是一个指针变量,指向一个函数的入口地址。通过函数指针,我们可以间接地调用函数,而不必直接使用函数名。return_type:函数的返回类型。pointer_name:函数指针的名字。parameter_types:函数的参数类型。// 定义函数指针类型,指向返回int类型,参数为int的函数函数指针是C语言中非常重要的一种功能,它使得程序更具灵活性和可扩展性。通过函数指针,我们能够实现回调函数、事件处理、模块化编程等多种功能。 阅读详情

相关推荐

C语言中的函数指针定义以及使用函数指针的示例

语言中,函数指针是一个指向函数的指针。这意味着你可以通过函数指针来调用函数,就像通过指针来访问数据一样。函数指针在需要动态地选择和执行函数时特别有用,例如在回调函数、函数表或动态链接库中。这个函数指针类型指向没有参数且返回类型为void的函数。定义两个函数,我们将通过函数指针来调用它们。使用while循环输出从10到0的数字。在这个例子中,我们首先定义了两个函数。使用printf函数输出两个数的和。头文件,它包含了标准输入输出函数(如。,并输出了相应的结果。在这个例程中,我们首先包含了。

2402_84885073的博客 1200

c语言函数的调用

学习笔记

qq_53661628的博客 2万+

【R】非参数秩和检验(Kruskal-Wallis H)与事后多重比较邓肯检验(Dunn‘s Test)及自动字母标记

非参数检验-Kruskal-Wallis H检验-多个独立样本秩和检验-事后两两比较-邓肯检验(Duncan's test)

captain_keating的博客 6539

C语言-函数的调用

C语言-函数的调用

让你爱上电路设计 2万+

Win10下YOLOv8环境搭建避坑指南:从CUDA 11.6到cuDNN配置全流程

本文详细介绍了在Windows 10系统下搭建YOLOv8环境的完整流程,包括CUDA 11.6和cuDNN的配置步骤,以及常见问题的解决方案。通过硬件准备、软件安装、环境验证和性能优化等环节,帮助开发者高效完成YOLOv8环境配置,提升目标检测项目的开发效率。

defi6farmer的博客 225

FMQL开发环境实战:从零构建国产FPGA SoC的软件基石

本文详细解析了构建国产复旦微FMQL FPGA SoC软件开发环境的完整流程。针对开发者在环境搭建中遇到的核心痛点,文章深入剖析了Procise、IAR与Vivado三大工具的协同角色与版本选择,提供了从软件下载、安装避坑到核心配置的实战指南,并总结了常见问题的排查方法,旨在帮助开发者高效跨过FMQL开发的“第一道坎”。

weixin_29215391的博客 126

C语言之函数调用

C语言之函数调用 “温故而知新,可以为师矣”! 让我们开启函数的道路吧! 今天主要讲函数的调用方式! 在讲之前,先回顾一下实际参数和形式参数的区别; 1.在定义函数时函数名后面括号中的变量名称为“形式参数”(简称‘形参’); int function(int x,int y)// x,y为形参 { int sum; sum=x +y; return sum; } 2.在主调函数中调用一个函数时,函数名后面的括号中的参数为“实际参数”(简称‘实参’); void main() { int a=1,b

weixin_62358623的博客 1万+

【学习笔记-QGIS】 QGIS从零快速上手

安装文章参考:https://zhuanlan.zhihu.com/p/370633306。

Xcong_Zhu的博客 1万+

c语言函数调用及应用举例

一,函数的定义 一般来说,执行源程序就是执行主函数main,其他函数只能被主函数所调用,而其他函数之间也可以相互调用。 1.标准库函数: 分为:I/O函数,字符串,字符处理函数,数学函数,接口函数,时间转换和操作函数,动态地址分配函数,目录函数,过程控制函数,字符屏幕和图形功能函数。 这些库函数在不同的头文件中声明。比如: math.h头文件中有:sin(x),cos(x),exp(x)...

weixin_44161383的博客 8万+

从Power到HO:一文搞懂主流脑图谱在DPABI里怎么选,让你的rs-fMRI分析更精准

本文深入解析了rs-fMRI分析中主流脑图谱(如Power、HO、AAL等)在DPABI中的科学选择策略,帮助研究者根据不同的神经科学研究目标优化分析流程。从解剖学图谱到功能连接图谱的特性对比,到DPABI实操中的多图谱分析工作流,提供了全面的方法论指导,助力提升静息态功能磁共振成像(rs-fMRI)研究的精准度和可重复性。

weixin_30654583的博客 405

必看!wechat-article-exporter:轻松批量下载公众号文章

微信搜索“”关注公众号。在信息爆炸的时代,我们每天都会接触到大量优秀的微信公众号文章。有时候,我们想要将这些精彩的内容保存下来,以便日后回顾或者分享给更多的人。然而,微信公众号并没有提供直接的批量下载功能,这给我们带来了不少困扰。今天,我要给大家分享一款非常实用的软件——wechat-article-exporter,它能够帮助我们轻松地批量下载微信公众号文章,让你不再为文章的保存而烦恼。

王乐平 技术博客 4357

C语言函数程序实例(超全)

C语言习题超全

m0_63330263的博客 1万+

Creo模型装配总结

creo7.0的零件装配操作方法,建立基准面、新建约束、约束顺序

heda3的博客 1万+

C语言指针类函数,C语言中的函数类型和函数指针

#include #include void func1(){printf("Func1 is runing...\n");}void func2(){printf("Func2 is runing...\n");}void func3(){printf("Func3 is runing...\n");}void func4(){printf("Func4 is runing...\n");}...

weixin_29248611的博客 220

使用MATLAB/Simulink对一个简单的智能家居温湿度监测与控制系统进行建模和仿真

目录手把手教你学Simulink——基于Simulink的智能家居温湿度监测与控制仿真建模示例一、背景介绍二、所需工具和环境三、步骤详解步骤1:创建Simulink模型步骤2:构建传感器模块步骤3:添加控制器步骤4:构建执行器模块步骤5:连接各部分步骤6:设置仿真参数步骤7:添加观测器步骤8:运行仿真并分析结果四、总结 智能家居系统中的温湿度监测与控制系统是一个典型的物联网(IoT)应用场景,它通过传感器收集环境数据,并根据预设条件自动调节室内温度和湿度以提高居住舒适度。本指南将介绍如何使用MATLAB/S

xiaoheshang_123的博客 291

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

理解C语言中指针函数与函数指针并利用函数指针实现回调(对比C#中的委托,Qt 中的signal-slots理解)

1.指针函数 指针函数:就是返回指针值的函数,本质是一个指针,所以指针函数等价为返回指针值的函数。 声明形式:type *func(参数列表) #include <iostream> using namespace std; int *Getnum(int x) { static int num[]={1,3,4}; return &num[x];...

weixin_42145502的博客 338

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C语言回调函数callback

一、定义和使用场合 回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,就是由别人的函数运行期间来回调你实现的函数。 这一设计允许了底层代码调用在高层定义的子程序(如图1-1所示)。C语言中回调函数主要通过函数指针的方式实现。 图1-1 回调函数在软件系统的调用结果 ..

YBAdiam的博客 1484

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【c语言】函数指针详解

一、 函数名的本质 我们定义一个函数,然后输出函数名查看一下:函数名就是地址!!! 既然函数名是地址,就可以用指针变量来保存,就需要函数指针的概念。 二、如何定义函数指针 根据指针的使用经验: 指针变量必须强调是什么类型的指针。因此,函数的指针定义时必须把函数的特征表述清楚。 数组的特征:int [ ] 把函数名去掉就是函数的特征:int (int a, int b) 数组指针:把数组名替换成指针 再加上数组的特征 int(*parr)[5]; 类比数组指针 函数指针类型

努力让自己的能力配得上梦想. 1万+

C语言 | 函数指针作为函数的参数

函数指针有两种常用的用法,一种是作为结构体成员,关于函数指针作为结构体成员的用法可移步至上一篇【C语言笔记】函数指针作为结构体成员进行查看。另一种是函数指针作为函数的参数。这一篇分享的是函数指针作为函数的参数。 一、函数指针作为函数的参数 函数指针可以作为一个参数传递给另一个函数。这时函数指针的使用就像普通的常量和变量一样。当函数指针作为参数传递的时候,这时接收参数传递的函数通常需要根据这个指针调...

嵌入式大杂烩 4万+

C语言——函数指针

函数指针 C语言中的指针类型有很多种,但是函数指针可能有些小伙伴没听过,下面我们引入一段定义。 函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。 一、C语言中的函数指针咋来的? 1、函数是C语言中的一段代码; 2、编译器把这个C代码转成二进制指令,放到可执行文件中; 3、操作系统执行这个程序的时候(比如双击exe文件),就还把这个二进制的文件指令加载到内存中; 4、在内存中,就

qq_49044908的博客 7573

详解C语言指针函数、函数指针、函数指针数组

在C语言中,指针是一个很重要但是又很容易弄错的概念,也可以说指针就是C语言的灵魂,所以说学好指针对于完全掌握C语言是一个必须的过程。而在指针中,指针函数、函数指针、指针函数数组、函数指针数组、指向函数指针数组的指针等等概念看着又绕又头疼。本问总结了一下以上一些概念以及用法,并给出例程深化理解。 1. 指针函数 指针函数就是返回指针值的函数,本质是一个函数。所以指针函数等价于“返回值为指针的函数...

一只大笨猫的博客 2万+

【C语言 | 指针】函数指针详解

👉本文介绍C语言的函数指针,函数指针的定义、函数指针的使用、函数指针数组、函数指针数组的指针。

wkd_007的博客 3266

(使用C语言详解)指针数组、数组指针、函数指针、函数指针的数组、指向函数指针数组的指针

本文主要讲解了C语言中的五种指针类型:指针数组、数组指针、函数指针、函数指针的数组以及指向函数指针数组的指针。这些指针类型在C语言编程中有着广泛的应用,掌握它们对于深入理解C语言以及进行高效的C语言编程都具有重要意义。指针数组是一种数组,其元素为指针;数组指针则是一个指向数组的指针,它可以指向数组的首地址,也可以指向数组的任一元素。函数指针则是指向函数的指针,通过它我们可以调用函数。函数指针的数组则是一个数组,其元素为函数指针;指向函数指针数组的指针则是一个指针,它指向函数指针数组。

StarPrayers.的博客 6326

C语言:函数指针的使用

在C语言中,函数指针是指向函数的指针变量。它可以存储函数的地址,使得可以通过该指针来调用函数。

qq_43279097的博客 3059

C语言中函数指针的简单使用

本文的主要内容目录: 一、函数指针的引入 二、函数指针的简单运用 一、函数指针的引入 在C语言当中,指针的使用非常重要的。我们都知道有变量指针,可以通过这个变量指针来访问这个变量;那么有没有函数指针呢,如果有的话能不能通过这个函数指针来访问这个函数呢?答案是肯定的。在说什么是函数指针之前,先引入一个简单的例子,如下所示: #include /* 打印Hello,world!

TECH_PRO的博客 2637
上一篇: c语言的大小写转换
下一篇: c语言里面竟然没有bool类型
iLove9ouHenry
博客等级 码龄17年 35粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值