《边学边用攻破C语言》第5集 变量字节数和基本运算
为什么要知道你定义的变量的字节长度?
我们在平时使用变量的时候,必须要知道你定义的数据类型是多少个字节组成。否则很容易出错。
在第二集的时候,我给大家演示了1个字节 2个字节 4个字节他们最大可表示的数量,你们还记得吗?
例如,你要是定义三个8位变量A B C,如果让C等于A+B的值,C很容易就超过255,结果就会出错。
我们在使用char int unsigned short等关键字定义变量,不容易区分你定义的变量是多少个字节的。幸运的是,C语言还提供了一个关键字typedef,这个关键字用来重定义数据类型。
例如:
typedef unsigned char uint8_t;
这句话中,uint8_t是我们起的名字,意义是8位无符号变量,这条语句的意思就是用uitnt8_t代表unsigned char,在你的程序中,定义一个变量,之前是这样写的:
unsigned char x1;
当你用typedef关键字定义了uint8_t之后,就可以写成这样了:
uint8_t x1;
是不是看着比较明朗了?
这些工作,在STM32的某个文件当中,已经给我们定义好了,我们可以去看看,如下所示:
有符号 无符号 8位 16位 32位,表示的很明白了。
注意:float和double类型的数是有正负号的,没有无符号这种类型,也没有必要指明有符号。例如:signed float x1和unsigned float x1都是错误的。
下面说“=”这个符号,我们专业术语叫做“赋值”,就是把某个数给了某个变量的意思,例如:x1=80;。把后面的数赋值给前面的数。
然后再看一下加减乘除这些符号,很好理解。做一些简单的运算,然后把结果发送到串口看结果。可以很快的掌握他们的用法。
+号和-号分别是加号和减号,*号和/号分别是乘号和除号。
注意:如果结果是浮点型的数据,要保证在计算过程中的变量也是浮点型,如果不是浮点型,可以采用强制类型转换转换成浮点数。