学习日志 姓名:石圆圆 日期:2018年7月23日
今日学习任务 | 嵌入式C语言开发实战 |
今日任务完成情况 | 基本完成。 |
今日开发中出现的问题汇总 | 结构体后的 ‘}’ 要加 ’;’ 。 Const int *p = # (*p)不能变。 |
今日开发收获 |
- 关键字register:请求编译器将这个变量尽可能地保存在CPU寄存器中,省去了CPU从内存中读取数据的时间,从而提高了执行效率,一般将经常被访问的变量用register修饰。
使用register的注意点:
-
- 只能修饰局部变量,不能修饰全局变量和函数;
- 当一个变量是register变量时,不能通过&来获取地址,因为它保存在CPU寄存器中。
- 关键字static:可以修饰变量和函数。
register的作用:
-
- 修饰局部变量时,能够使函数生命周期延长到程序结束后释放;
- 修饰全局变量时,使全局变量只能在本文件使用,不能在其他文件调用;
- 修饰函数时,函数只能在本文件内被调用,不能在其他文件内调用。
- 关键字extern:extern用于外部声明,声明这个变量或函数是在.c文件之外的其他文件定义的,要使用时到其他文件找。
- 关键字const:const修饰一个变量,将此变量声明为只读变量;不能通过这个变量名来修改空间名,但是这个空间是可变的。(一定要初始化)。
const的作用:防止程序过程中对函数实参的值做修改,提高了安全性。
- 关键字typedef:给类型重起名字,提高代码可读性和可移植性;
- 共用体大端字节序和小端字节序的区分:高字节放低地址,低字节放高地址(大端字节序)、高字节放高地址,低字节放低地址(小端字节序)。
- 枚举里面不能放数据类型。
- 宏:①提高移植性;
②提高只读性。
- switch后必须跟上default。
- break和continue的区别。
|
自我评价 | 基本完成今天的任务,但还需及时巩固。 |