STM32系列第4篇--C语言复习
扫描二维码
随时随地手机看文章
位操作
& 与
~ 取反
| 或
^ 异或
<< 左移
>> 右移
define宏定义关键词
define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。
#define标识符字符串1
ifdef条件编译
单片机程序开发过程中,经常会遇到一种情况,当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。
#ifdef标识符程序段1#else程序段2#endif12345
extern变量申明
C语言中extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
这里面要注意,对于extern申明变量可以多次,但定义只有一次。
typedef类型别名
typedefunsignedcharuint8_t;typedefunsignedshortintuint16_t;typedefunsignedintuint32_t;typedefunsignedint64uint64_t;1234
结构体:构造类型
Struct结构体名{成员列表1;成员变量2;…}变量名列表;12345
C语言关键字 :static
Static申明的局部变量,存储在静态存储区。
它在函数调用结束之后,不会被释放。它的值会一直保留下来。
所以可以说static申明的局部变量,具有记忆功能。
指针
指针指向的是地址,地址指向的是内容:
我们需要一个变量,来存储地址,这个变量的值是地址,但是我们可以通过修改变量的值,来不断的改变地址,但是,我们如果需要改变该个地址的值的话,就需要,对地址的值进行修改,而不改变地址。
inta=10;int*p;p=&a;*p=11;a=?12345
这里我们看到,p 是一个变量,我们使用p来存储变量a的地址,这是,我们使用*p对于这个变量进行赋值,那么a的值最后,是多少呢,结果是11,因为我们使用*p赋值,就相当于a=11,赋值效果一样的。
也就是说p是指针,指向地址;*p是地址,指向内容。