/常用数据类型定义*/
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
根据上下文理解,我猜测下面两句意思是这样的:
typedef unsigned char unit8_t;
#define u8 unit8_t;
上一句是定义了一种unit8_t的新类型,类型其实是unsigned char的别名。
下一句是因为unit8_t太长了书写麻烦,所以定义了一个宏u8,其实还是调用的unit8_t。
那么问题来了:
1.按照程序初始化过程
#define u8 unit8_t;
typedef unsigned char unit8_t;
图中的代码是先#define后typedef的,是不是搞反了?
2.两句能不能简写成一句?
typedef unsigned char u8
define
对整个文件生效,当然选择定义在头部了,它会在整个文件里面对预定义的内容进行相应替换,简单来说,变异的时候并不会检查u8
和uint8_t
有没有定义,因为本质上来说它们并不算变量。所以,并没有和typedef unsigned char unit8_t
搞反一说。