u8、u16、u32、s8、s16、s32、Size_t是什么类型
在MDK 开发环境里,比如一个 无符号32位整形数据会有很多种表示方法:
1. unsigned int 32 (C语言标准表达方法)
2. uint32_t ;
3. u32;
这三种方式都是在表达同一个意思,如:_IO int32_t 他等同于vs32,还等同于 volatile int32_t,
**volatile signed int 32 这种表达方式才是C语言的标准表达方式**
一般来说,一个C的工程中一定要做一些这方面的工作,因为你会涉及到跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以让你最有效的维护你的代码。为了用户的方便,C99标准的C语言硬件为我们定义了这些类型,我们放心使用就可以了。
按照posix标准,一般整形对应的*_t类型为:
1字节 uint8_t
2字节 uint16_t
4字节 uint32_t
8字节 uint64_t
uint8_t,uint16_t,uint32_t等都不是什么新的数据类型,它们只是使用typedef给类型起的别名
m0_58786136: 分析透彻
Lenclir: 这个弔东西害我一下午都不知道错出在哪
OldUncleYan1983: 这必须点赞呀
朴矢: 牛逼
啥也不懂的C++小白: 你这抄人家2013年的,一模一样,也不标明一下人家的链接。。。