您的位置:首页 > 运维架构 > Linux

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

2020-07-14 06:34 141 查看
项目名称 【苏嵌实训-嵌入式linux C 第7天】
今日进度以及任务 今日主要任务复习函数、函数指针 函数指针数组,理解关键字以及结构体,枚举,共用体
本日任务完成情况 已经完成老师上课所布置任务
-本日开发中出现的问题汇总- -无-
本日未解决问题
本日开发收获 了解了程序在虚拟内存中的分布

1.free 是如何知道释放多大空间?
系统在分配内存时除了分配指定的内存空间外,还有分配用于保存内存空间大小等信息。所以内存释放时不再需要再指定释放多大的内存空间,只需要指定该块内存空间的首地址即可。
2.static 在什么样的情况下使用?
static 对栈变量的修饰,可以认为栈变量的生命周期延长到程序执行结束时。一般来说,栈变量的生命周期由OS管理,在退栈的过程中,栈变量的生命也就结束了。但加入static修饰之后,变量已经不再存储在栈中,而是和全局变量一起存储。
static 对全局变量的修饰,可以认为是限制了只能是本文件引用此变量。有的程序是由好多.c文件构成。彼此可以互相引用变量,但加入static修饰之后,只能被本文件中函数引用此变量。
static 对函数的修饰,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用。
3.为什么要使用 typedef 给类型重命名?
为现有类型创建别名,定义易于记忆的类型名。 简化代码。 便于批量修改具体类型。

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