C语言 回调函数 produce(arr,len,getRand)
基本介绍
回调函数:形参中包含另一个函数的函数指针
用函数指针接收另一个函数
案例
代码解析
具体代码
#include<stdio.h>
#include<stdlib.h>
//回调函数--//函数原型
int getRand();
int *produce(int*arr,int len,int(*get)());
int main()
{int arr[10];int len=sizeof(arr)/sizeof(int);int i;//result=arr=&arr[0]int*result=produce(arr,len,getRand);//getRand传入函数名,函数名是函数的首地址//打印数组for(i=0;i<len;i++){//result是数组的首地址//+i移动指针printf("arr[%d]=%d address=%p self-address=%p\n",i,*result+i,result+i,&result);}getchar();return 0;
}
//获取0-9的随机数
int getRand()
{return rand()%10;//0--99
}
//将随机数赋值给数组
int *produce(int*arr,int len,int(*get)())
{int i;for(i=0;i<len;i++){//arr[i]=(*get)();arr[i]=get();}return arr;
}
练习–统计字符串英文个数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//回调函数--统计字符串中的英文个数//函数原型
int add(int n);
int count(char* s,int len,int(*padd)(int));int main()
{//不能使用char *s=""; 这里是字符串常量,不能改变char s[100];printf("please input s:\n");gets(s);//获取输入的字符串int len=strlen(s);int sum=count(s,len,add);//add传递函数名(地址)printf("the sum is %d\n",sum);getchar();//entergetchar();return 0;
}
//数量自增
int add(int n)
{return ++n;
}
//统计字符串中英文个数
int count(char* s,int len,int(*padd)(int))
{int i;int count=0;for(i=0;i<len;i++){if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')){count=padd(count);}}return count;
}
C语言 回调函数 produce(arr,len,getRand)相关推荐
- C语言 回调函数 callback - C语言零基础入门教程
目录 一.回调函数原理 二.回调函数简介 1.函数指针 2.指针函数 3.回调函数解释 三.回调函数实战 四.回调函数使用总结 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 ...
- c语言 is函数,关于C语言回调函数的详解~
原标题:关于C语言回调函数的详解~ 01 什么是回调函数? 回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那本书上看到关于回调函数的定义.我在百度上搜了一下, ...
- C语言回调函数demo(帮助理解)以海康isapiExternDemo回调函数为例
参考文章:c语言指针回调函数最全demo实例(简单明了一看就会) 回更 20220303 \demo\base\isapiExternDemo\isapiExternDemo.c 这边海康定义了一个回 ...
- c语言回调函数_C语言学习第26篇---函数与指针分析 回调函数
函数类型的概念 1.C语言函数也是有类型的 2.函数类型由函数返回值,参数类型,参数个数共同决定 int add(int i,int j) 的类型是 int(int , int) 3.C语言中通过ty ...
- 一文搞懂C语言回调函数
转载自:https://segmentfault.com/a/1190000008293902?utm_source=tag-newest 博主:Rdou Typing 来源:segmentfault ...
- C语言回调函数callback
一.定义和使用场合 回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数.函数是你实现 ...
- C语言回调函数的定义和写法
C语言中的回调函数(Callback Function) 1 定义和使用场合 回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中 ...
- c语言timer linux 回调函数_C语言回调函数详解
1. 什么是回调函数? 回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那本书上看到关于回调函数的定义.我在百度上搜了一下,发现众说纷纭,有很大一部分都是使用类 ...
- C 语言回调函数详解
1. 什么是回调函数? 回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?网络上众说纷纭,有很大一部分都是使用类似这么一个场景来说明:A君去B君店里买东西,恰好缺货,A君留下号码给B ...
最新文章
- 相机自动对焦AF原理
- netframework转core时文件响应流问题
- SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署)
- Android存储路径你了解多少?
- 有关JNLP中传SESSIONID为参数的问题
- cmake could not find openssl_Mac OSX系统CMake、QT5运行OpenCV 4.0
- 【工作感悟】成功入职阿里月薪45K
- python列表的特点_python基础(一)列表、集合和元组的基本特性
- Python之程序执行时间计算
- 5 月数据库排行:PgSQL 慢增长,MySQL冲击第一!
- zookeeper 进入客户端_探究—Zookeeper的启动过程
- 环境数据-全球中国土壤数据资源下载和提取教程
- 图书管理系统(Java实现,十个数据表,含源码、ER图,超详细报告解释,2020.7.11更新)...
- Java复习---基础复习
- 查询论文SCI/EI检索及引用报告
- 考研数学(二)知识点回顾及笔记(第五章 定积分及应用)
- 3dmax骨骼的绑定
- 如何实现从OPC到阿里云IoT平台的数据交换?
- Asset Catalog Compiler Warning Group
- Java8 IF ELSE IF 优化
热门文章
- 【转】c# 协变与抗变
- SharePoint2010开发最佳实践
- 【精华】详解Qt中的内存管理机制
- Hive优化(再一遍系统复习)
- 【PAT - 甲级1006】Sign In and Sign Out (25分)(STLmap)
- 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)
- 【2018ACM山东省赛 - E】Sequence(树状数组,思维,优化)
- 【计蒜客 - 2019南昌邀请赛网络赛 - I】Max answer(单调栈,RMQ)
- dataframe去重复 python_python – 在DataFrame中组合重复的列
- android 判断空,Android空判断的坑