项目名称 | 苏嵌实训-嵌入式Linux C 第五天 |
---|---|
今日进度及任务 | C语言相关基础知识:函数、内存管理、关键字 |
今日任务完成情况 | 今日课内任务全部完成 |
本日开发中出现的问题汇总 | 1.free函数是如何知道释放多大空间? 2.在什么情况下使用static关键字? 3.为什么使用typedef给类型重命名? |
本日开发收获 | 学习了函数、内存管理、关键字的内容以及有关函数部分的编码规范。 |
一、free函数是如何知道释放多大空间?
free函数释放动态申请的内存时只需要知道内存块的首地址。
二、在什么情况下使用static关键字?
-
static修饰局部变量,即局部静态变量。
1)延长局部变量的生命周期,程序结束之后释放。
2)声明时没有赋初值,编译器自动赋值为0。 -
static修饰全局变量,即全局静态变量。
1)声明时没有赋初值,编译器自动赋值为0。
2)只可在当前文件中被调用,其他文件不可使用。 -
static修饰函数,即静态函数。
1)只能在本源文件内被使用,不能被其他文件访问。
三、为什么使用typedef给类型重命名?
使用typedef给类型重命名主要有以下好处:
1.增加程序可读性,使变量的实际意义更加清晰。
1. typedef int count; /*重命名整型*/
2. int i,j;
3. count i,j;
2.将较长的数据类型重命名一个较短的别名,有利于减少程序书写的工作量。
1. typedef struct stu STU;
2. struct stu student;
3. STU student;
3.有利于程序的通用和可移植性。有的计算机上整型占2字节内存单元,有的占4字节内存单元,当程序从2字节的计算机切换到4字节的计算机上时,使用typedef重命名的变量,只需要用long代替原来的int即可,无需改变所有int型的变量。