当前位置: 首页 > news >正文

C49-函数指针(通过指针调用函数)

一 函数指针的基本语法

  1. 函数指针是指向函数的指针变量,存储函数的入口地址。通过它可间接调用函数

  2. 函数指针的定义:

    返回值类型 (*指针名)(参数列表);

二 示例

  1. 无返回值函数示例
  • Example:
#include <stdio.h>//封装函数
void PrintWelcome()
{puts("程序已启动,欢迎使用!");
}int main()
{   //定义一个函数指针变量void (*p)();p=PrintWelcome;//指向函数//调用函数(*p)();return 0;
}
  • Show:

image-20250525125840169

2.有返回值函数示例

  • Example:
#include <stdio.h>//封装有返回值函数
int inCData(int data)
{return ++data;
}int main()
{   int result;//有返回值的函数指针定义、调用;int (*p1)(int data);p1=inCData;result=(*p1)(11);printf("test p1:%d",result);return 0;
}
  • Show:

image-20250525130026268

三 函数指针编程实战

  • 题目:image-20250525130421045

  • Example:

#include <stdio.h>
#include <stdlib.h>//封装求最大值函数
int GetMax(int data1,int data2)
{int result;result=data1>data2?data1:data2;return result;
}//封装求最小值函数
int GetMin(int data1,int data2)
{int result;result=data1<data2?data1:data2;return result;
}//封装求和函数
int GetSum(int data1,int data2)
{int result;result=data1+data2;return result;
}//封装数据处理函数
int DataHandler(int data1,int data2,int (*pfunc)(int data1,int data2))
{int result;result=(*pfunc)(data1,data2);return result;
}//主函数
int main()
{//定义变量int num1=10;int num2=20;int cmd;int result;//定义函数指针int(*pfunc)(int data1,int data2);//输入数据printf("请根据你的需求输入以下命令:1(取最大值);2(取最小值);3(求和).\n你的命令是:");scanf("%d",&cmd);//用户命令转为所需的处理函数的指针switch(cmd){case 1:pfunc=GetMax;break;case 2:pfunc=GetMin;break;case 3:pfunc=GetSum;break;default:printf("指令错误!请在下次测试中输入有效指令:1(取最大值);2(取最小值);3(求和)");exit(-1);}//调用数据处理函数result=DataHandler(num1,num2,pfunc);//输出数据:返回给用户结果printf("你需要的结果是:%d",result);return 0;
}
  • Show:

image-20250525135905923

http://www.dtcms.com/a/450295.html

相关文章:

  • *多棱镜/三极管——AI工具对话本质探讨(智普清言)
  • 外贸网站建设是什么意思磨床 东莞网站建设
  • 个人电子商务网站 制作营销型网站建设营销型网站建设
  • 查找企业资料的网站vue消息推送和系统通知
  • SVG Stroke 属性详解
  • 链接点开网页表白的网站怎么做的网站策划的步骤
  • CTFHub SQL注入通关笔记1:整数型注入(手注法+脚本法)
  • Scade One 图形建模 - 时序算符模型
  • phpcms手机网站营销型企业网站建设哪家好
  • 产地证在什么网站做网络设计什么学历一般
  • 网站入口百度WordPress即时群聊
  • registrate的深入研究
  • MySql速成笔记4(约束)
  • 组工网站建设方案优秀h5页面欣赏
  • 网站建设项目描述范文西安制作网站的公司有
  • 安监局网站做模拟可以做驾校推广的网站
  • SQL FULL JOIN:全面解析与实例应用
  • 网站建设华威公司怎么样简单医院网站
  • jsp网站 自动发送邮件百度权重怎么看
  • 嘉兴网站专业制作站长域名查询工具
  • rule ID deny tcp source any 概念及题目
  • 自助建站平台营销网络是啥意思
  • 网站建设公司地址在哪建站系统cms
  • 深圳做网站-龙华信科wordpress还能用
  • 冲刺校招 打卡 day01
  • 东莞专业建站公司费用深圳建设网站公司排名
  • 威县做网站哪里好关键词优化技巧有哪些
  • C++:类的6个知识点
  • iBizModel 搜索栏(PSSYSSEARCHBAR)与搜索表单(PSDEFORM)模型详解
  • 网站建设从零开始 教程云免网站空间