1.const 关键字 : 它限定变量不允许被修改

    修饰整形变量时  const int a 等价于  int const a

    const : 左结合性

  2.传入参数 :当参数指针只做传入参数使用时,通常使用const 修饰

    传出参数 :

         必须是指针,在函数内部进行间接引用

         在函数体内部,第一次调用时指向的空间无意义。

         函数调用之后,它指向的空间有意义,并作为函数返回值,

    传入,传出参数 : 第一次调用时,指向的空间有意义。并在最后作为函数返回值返回。

    切记 : 不可返回函数中普通的局部变量的地址

  3.函数返回值时指针

    (1).可以返回传入的地址

    (2).可以返回函数中静态内存的指针

    (3).可以返回动态分配的内存的指针

  4.函数指针的一般定义形式

    函数返回值类型 (*指针变量名)(形参列表)

  5.定义函数指针的根本目的 : 通过指针调用函数

    本质区别 : 函数指针可以在程序运行的过程中动态地决定调用哪一个函数

  6.回调函数

    回调函数的一个重要应用实例就是实现“泛型”算法。  

 1 #include <stdio.h>
 2
 3 typedef void (*print_t)(void *);
 4
 5 /*该函数用来调用回调函数*/
 6 void print(print_t func, void *arg)
 7 {
 8     func(arg);
 9 }
10 /*回调函数1*/
11 void say_hello(void *arg)
12 {
13     printf("%s\n", (char *)arg);
14 }
15
16 /*回调函数2*/
17 void count(void *arg)
18 {
19     printf("%d\n", (int)arg);
20 }
21
22 int main(void)
23 {
24     print(say_hello, (void *)"hello world!");
25     print(count, (void *)100);
26
27     return 0;
28 }

回调函数实例   

  7.泛型算法

    泛型算法的优势着重体现在对数据类型的普适性上 ,即: 对同一类问题,要操作的数据类型可能不同,但解决办法应该相同

    泛型算法的指导思想就是代码的复用。

    泛型算法在实现的过程中解决算法的大部分流程,只留下少量的处理细节的代码给使用泛型函数的用户去完成

  8.函数指针数组

    int (*a[10])(int, int);

  9.扩展 :使用typedef 定义函数指针

    typedef int (*p_t)(int, int)

  好吧,,今天想错了,。。等会得重新实现一下。

  英语: parameter(参数)  callback(回调)  allocator(分配器)

                                想俺家小宝贝了。。晚安。。么么

转载于:https://www.cnblogs.com/cxw825873709/p/3258661.html

嵌入式培训学习历程第二十二天相关推荐

  1. 嵌入式培训学习历程第三天

    一晃,一天有去了.感觉自己越来越适应现在的生活了..好吧,废话不多说.继续 1.tar [主选项 + 辅选项] 文件或目录  tar可以为文件和目录创建档案. 注意 : 主选项是必须要有的,辅选项是辅 ...

  2. 嵌入式培训学习历程第十一天

    1.创建结构体struct person并编写程序,从终端上输入5 个人的年龄.性别和姓名,然后输出. struct man{ char name[20]; int age; char gender[ ...

  3. 嵌入式开发学习历程(一)——Linux系统入门

    本人普通本科学生,浑浑噩噩度过大学三年时间.直到临近离校实习,才发现自己学到的知识微不足道.既不满足于现状,又不愿意花费高昂学费进培训机构,只好在秋招前的这段时间补补书籍,看看网课,为改变自己的命运再 ...

  4. python 格式文件 读取off_重新开始学习Python 第二十二天 Python 文件处理(三)

    CSV文件处理 这一篇文章接着上两篇文章继续介绍文件处理.前面两篇文章主要介绍了文本文件和表格(xls.xlsx)文件的处理,这一篇文章继续介绍表格(csv格式)文件的处理. 经常用到的csv文件处理 ...

  5. 嵌入式培训哪里找?怎么入门学习嵌入式

    嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板.事实上,所有带有数字接口的设备,如手表.微波炉.录像机.汽车等,都使用嵌入式 ...

  6. 嵌入式培训学校哪个好?学习嵌入式好就业吗?

    嵌入式学习培训好就业吗?身边越来越多想学习嵌入式的同学都抛出了这个问题.我想其实答案很简单,大家都知道嵌入式了,那么说明他很火.如果你有想学习的冲动,那么这个行业肯定有吸引你的地方,不然为何我们会在众 ...

  7. arm嵌入式培训学校哪里好?看看有哪些arm学习建议

    arm嵌入式培训学校哪里好?想通过arm培训的初学者,究竟该怎么学习呢?除了要找到合适的arm嵌入式培训学校,还要针对arm进行相对应的学习. ARM到底指的是什么?ARM的处理器芯片应该如何来分类? ...

  8. 学习嵌入式培训课程安排,嵌入式培训靠谱吗?

    嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗等严格要求的专用计 ...

  9. 嵌入式培训学校怎么选?嵌入式学习还有就业优势吗?

    身边越来越多想学习嵌入式的同学都抛出了这个问题.我想其实答案很简单,大家都知道嵌入式了,那么说明这个行业很火.如果你有想学习的冲动,那么这个行业肯定有吸引你的地方,不然为何我们会在众多的开发行业中选择 ...

最新文章

  1. 深度学习:知识回收(Lecture3+4 PLA+Decision Tree)
  2. python中关键字 表示空类型_python中什么表示空类型
  3. bert 多义词_自然语言处理:Bert及其他
  4. struts中ModelDriven()接口
  5. 性能测试之JMeter接口关联【JSON提取器】详解
  6. 突然间~两年悄然而过
  7. java中代码pu_一、线程Java代码实现1.继承Thread声明Thread的子类public class MyThread extends Thread { pu...
  8. mcgs组态软件中字体如果从左到右变化_MCGS脚本程序 -
  9. Android增量更新
  10. OCR 识别翻译图片中的文字:iText for Mac
  11. php短信验证码接口怎么写,PHP 攻击短信验证码接口
  12. linux飞行模式切换,光遇飞行的两种模式区别 飞行模式切换和区别分析
  13. 快速学会CC2530单片机基础点灯
  14. 全世界时差整理(不含夏冬令时)
  15. 【综述】A Comprehensive Survey on Graph NeuralNetworks(2)
  16. 30行Python代码爬取LOL全英雄皮肤
  17. TTime::FormatL详解
  18. Android JNI开发三: SO库的使用
  19. Google Earth Engine(GEE)农作物种植结构提取
  20. 演讲者模式投影到幕布也看到备注_在PPT中插入备注时,如何在放映时只让演讲者看到,而观众看不到...

热门文章

  1. Redis的zset有多牛?请把耳朵递过来
  2. 8 个你必须要掌握的 GitHub 实用技巧!
  3. Spring事务失效的 8 大原因,这次可以吊打面试官了!
  4. 手把手教你代码重构,是时候告别屎一样的代码了!
  5. Java线程详解(1)-概念与原理
  6. RESTful Web 服务 - 方法
  7. 28.构造函数中,成员变量一定要通过初始化列表来初始化的?
  8. Python 判断一个数是不是质数
  9. top,right,bottom,left设置为0有什么用?
  10. 计算机主机安装系统安装系统,系统重装