课程概述
C语言,是嵌入式开发的一个核心工具,也是从事嵌入式开发人员必须掌握的重要工具,本套课程将重点围绕C语言的32个关键字,掌握其中使用它们的技巧和规律,帮助嵌入式开发人员提高遇到问题和解决问题的能力。
常见问题
1. 关键字static的作用是什么?
在C语言中,关键字static有三个明显的作用:
第一,在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变;
第二,在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量;
第三,在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
2. 关键字volatile有什么含意?可以给出三个不同的例子吗?
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:
第一,并行设备的硬件寄存器(如:状态寄存器);
第二,一个中断服务子程序中会访问到的非自动变量(Non-automatic variables);
第三,多线程应用中被几个任务共享的变量。
授课大纲
- 第一章 课程介绍
- 第1课 课程介绍
- 第二章 GCC的使用及其常用选项介绍
- 第2课 GCC概述
- 第3课 C语言编译过程介绍
- 第4课 C语言编译常见错误举例
- 第5课 C语言预处理介绍
- 第6课 条件预处理的应用
- 第7课 宏展开下的#、##使用
- 第三章 C语言常用关键字及运算操作符
- 第8课 C语言常用关键字及运算符课程介绍
- 第9课 关键字概念及sizeof、return
- 第10课 数据类型关键字介绍及char类型
- 第11课 数据类型之int、long、short
- 第12课 数据类型之符号数、浮点类型
- 第13课 自定义数据类型struct、union
- 第14课 自定义数据类型enum
- 第15课 自定义数据类型typedef
- 第16课 逻辑结构关键字
- 第17课 类型修饰符(一)
- 第18课 类型修饰符(二)
- 第19课 类型修饰符(三)
- 第20课 常用运算符(一)
- 第21课 常用运算符(二)
- 第22课 位运算符(一)
- 第23课 位运算符(二)
- 第24课 位运算符(三)
- 第25课 赋值运算、内存访问符