在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给类型起的别名