苏嵌实训-嵌入式linux C 第 7 天

目录

  • 苏嵌实训-嵌入式linux C 第 7 天
    • 日报表
    • 作业

苏嵌实训-嵌入式linux C 第 7 天

日报表

项目名称 【苏嵌实训-嵌入式linux C 第7天】
今日进度以及任务 1. 复习函数,函数指针,函数指针数组
2. 学习华为编码规范的函数部分
3. 理解 Linux 虚拟地址空间分布图
4. 理解关键字 register,static.const,extren,typedef 以及结构体、枚举、共用体
本日任务完成情况 所有任务都已完成
本日开发中出现的问题汇总
本日未解决问题
本日开发收获 1. 通过 Linux 虚拟地址空间分布图,了解了程序在虚拟内存中的的分布
2. 学习了华为编码关于函数编写的规范
其他 复习单链表

作业

  1. free 是如何知道释放多大空间?

系统在分配内存时除了分配指定的内存空间外,还有分配用于保存内存空间大小等信息。所以内存释放时不再需要再指定释放多大的内存空间,只需要指定该块内存空间的首地址即可。

  1. static 在什么样的情况下使用?

static 对栈变量的修饰,可以认为栈变量的生命周期延长到程序执行结束时。一般来说,栈变量的生命周期由OS管理,在退栈的过程中,栈变量的生命也就结束了。但加入static修饰之后,变量已经不再存储在栈中,而是和全局变量一起存储。
static 对全局变量的修饰,可以认为是限制了只能是本文件引用此变量。有的程序是由好多.c文件构成。彼此可以互相引用变量,但加入static修饰之后,只能被本文件中函数引用此变量。
static 对函数的修饰,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用。

  1. 为什么要使用 typedef 给类型重命名?

为现有类型创建别名,定义易于记忆的类型名。 简化代码。 便于批量修改具体类型。

你可能感兴趣的:(苏嵌实训-嵌入式linux C 第 7 天)