项目开发日报表
项目名称 |
【苏嵌实训-嵌入式 linux C 第 6天】 |
今日进度以及任务 | 1、函数 2、内存管理 3、关键字 4、复合函数类型 |
本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) | 1、字符串,输入帧头、帧尾,识别合法帧 2、逆序,不改变单词本身
|
本日开发中出现的问题汇总 | 1、malloc及free 答:malloc()在运行期动态分配分配内存,free()释放由其分配的内存。malloc从堆里面获得空间。也就是说函数返回的指针是指向堆里面的一块内存。操作系统中有一个记录空闲内存地址的链表。当操作系统收到程序的申请时,就会遍历该链表,然后就寻找第一个空间大于所申请空间的堆结点,然后就将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。malloc()在分配用户传入的大小的时候,还分配的一个相关的用于管理的额外内存。 2、static在什么情况下使用 答: 1、利弊: 3、为什么要使用typedef给类型重命名 答:a、能区分不同场合使用不同数据类型,为现有类型创建别名,定义易于记忆的类型名。 b、简化代码。 c、便于批量修改具体类型。
|
本日未解决问题 | 无 |
本日开发收获 |
函数、内存管理、关键字(详细见下) |
其他 | 无 |
一、函数:
1、三要素:函数名、形参、返回值
2、实参与形参类型一致
3、什么时候传地址?什么时候传指针?
当只使用不修改实参变量的值时,传实参变量名
当使用及修改实参变量的值时,传实参变量的地址
4、函数指针及指针函数
二、内存管理:
Malloc申请,要用free释放。
三、关键字:
Register:尽可能将数据保存CPU(提高执行效率)
static:修饰全局变量:静态全局变量,该变量不能在其他文件中访问
修饰局部变量:延长了局部变量的生命周期,程序结束之后再释放。
extern:外部申明,函数或变量在其他文件定义
const:修饰变量,使该变量成为一个只读变量
typedef:函数重命名