项目名称 | 【苏嵌实训•嵌入式linuxC第5天】 |
---|
今日进度以及任务 | 复习c语言函数知识,学习内存管理和结构体定义 |
本日任务完成情况(详细说明本日任务是否按 计划完成,开发的代码量) | 基本可以跟上进度 |
本日开发中出现的问题汇报 | 关于C语言函数可能是有些遗忘,不能及时的完成给与的课题任务 |
本日未解决问题 | 关于最后留下的结构体数据的代码还未理解透彻 |
本日开发收获 | 复习了C语言函数知识,更加加深了对C语言的认知 |
1其实真正的内存管理如申请/释放等,并不是由malloc或者free等库函数来负责的,而是交由操作系统去完成,它们只是维护一个空闲的链表式的内存块,理解这一点是问题的关键。例如:要申请sizeof(int)*100大小的内存空间,虽然返回的是内存大小是400,但实际上,操作系统分配时候,会多出一块用于存储内存大小的类似链表head头节点的东东,这个节点存储的是空间的首地址及分配内存的大小。当用户调用free函数的时候,其实它也不知道要释放内存的大小,它只需改变head头结点里的内存的大小就可以了,具体内存空间的释放由操作系统去完成。
2.
1.修饰成员变量
2.修饰成员方法
3.静态块
4.静态导包
3.重命名的好处是能区分不同场合使用不同数据类型,这就好比同样是可乐,有些人就喜欢可口可乐,有些人喜欢百事可乐,typedef作用就像是一个标签一样,本来同一叫做可乐或者绿茶就可以了,但是实际使用场合中,会有需求希望做出区分,有了typedef,绿茶就可以重命名为统一绿茶和统一薄荷绿茶或者康师傅绿茶、雀巢绿茶了。