您的位置:首页 > 大数据 > 物联网

物联网工程实践第六天

2020-07-15 06:22 197 查看
项目开发日报表

 

项目名称

 

【苏嵌实训-嵌入式 linux C 第 6天】

 

今日进度以及任务

1、函数                                          2、内存管理

3、关键字                                      4、复合函数类型

 

 

 

本日任务完成情况

(详细说明本日任务是否按计划完成,开发的代码量)

1、字符串,输入帧头、帧尾,识别合法帧

2、逆序,不改变单词本身

 

 

 

 

本日开发中出现的问题汇总

1、malloc及free

答:malloc()在运行期动态分配分配内存,free()释放由其分配的内存。malloc从堆里面获得空间。也就是说函数返回的指针是指向堆里面的一块内存。操作系统中有一个记录空闲内存地址的链表。当操作系统收到程序的申请时,就会遍历该链表,然后就寻找第一个空间大于所申请空间的堆结点,然后就将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。malloc()在分配用户传入的大小的时候,还分配的一个相关的用于管理的额外内存。

2、static在什么情况下使用

答: 1、利弊:
      a、利是对对象的共享数据进行单独空间的存储,节省空间,没必要每个对象都存储一份;
       b、弊是生命周期过长,访问出现局限性(静态只能访问静态)。
     2、使用:
      a、静态变量(类变量):当对象中出现共享数据时,该数据被静态所修饰;对象中的特有数据要定义成非静态存于堆内存中。
      b、静态函数:当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。 

3、为什么要使用typedef给类型重命名

答:a、能区分不同场合使用不同数据类型,为现有类型创建别名,定义易于记忆的类型名。

b、简化代码。

c、便于批量修改具体类型。

 

 

本日未解决问题

 

 

本日开发收获

 

函数、内存管理、关键字(详细见下)

 

其他

一、函数:

1、三要素:函数名、形参、返回值

2、实参与形参类型一致

3、什么时候传地址?什么时候传指针?

       当只使用不修改实参变量的值时,传实参变量名

       当使用及修改实参变量的值时,传实参变量的地址

4、函数指针及指针函数

二、内存管理:

  Malloc申请,要用free释放。

三、关键字:

Register:尽可能将数据保存CPU(提高执行效率)

static:修饰全局变量:静态全局变量,该变量不能在其他文件中访问

        修饰局部变量:延长了局部变量的生命周期,程序结束之后再释放。

extern:外部申明,函数或变量在其他文件定义

const:修饰变量,使该变量成为一个只读变量

typedef:函数重命名

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: