uint8_t、uint16_t、uint32_t、DWORD都是什么类型?

1、*_t是什么意思:
它是一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的

2、*_t与常用数据类型对应关系:
uint8_t,uint16_t,uint32_t只是使用typedef给类型起的别名。
为了用户的方便,C99标准的C语言硬件为我们定义了这些类型,按照posix标准,一般整形对应的*_t类型为:

1字节 uint8_t typedef unsigned char uint8_t 无符号8位数
1字节 int8_t typedef signed char int8_t 有符号8位数
2字节 uint16_t typedef unsigned int uint16_t 无符号16位数
2字节 int16_t typedef signed int int16_t 有符号16位数
4字节 uint32_t typedef unsigned long uint32_t 无符号32位数
4字节 int32_t typedef signed long int32_t 有符号32位数
8字节 uint64_t typedef unsigned long long uint64_t 无符号64位数
8字节 uint64_t typedef signed long long uint64_t 有符号64位数
4字节 float32 typedef float float32 单精度浮点数
8字节 float64 typedef double float64 双精度浮点数

3、DWORD类型:

4字节 DWORD typedef uint32_t DWORD 无符号32位数

DWORD中D表示double,一个word(字)两个字节(两个字节16bit),因此DWORD为四个字节,常表示uint32_t。

本文转载改编于:关于嵌入式编程中的uint8_t、uint16_t…

总结:

1、*_t是一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的
2、DWORD常表示uint32_t。

猜你喜欢

转载自blog.csdn.net/qq_33726635/article/details/107452619