uint8_t是什么数据类型
在C的扩展语言中,你会看到很多你不认识的数据类型,比如uint8_t,in_addr_t等。但这些并不是新的数据类型。
_t的意思到底表示什么?
它就是一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是其它数据类型。
uint8_t,uint16_t,uint32_t等,只是使用typedef给类型起的别名。typedef它对于你代码的维护会有很好的作用。比如C中没有bool,一些程序员使用int,一些程序员使用short,会比较混乱,最好就是用一个typedef来定义,如:
typedef char bool;
一般整形对应的*_t类型为:
1字节 uint8_t
2字节 uint16_t
4字节 uint32_t
8字节 uint64_t
头文件内定义:
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef int int16_t;
typedef unsigned int uint16_t;
typedef long int32_t;
typedef unsigned long uint32_t;
typedef long long int64_t;
typedef unsigned long long uint64_t;
typedef int16_t intptr_t;
typedef uint16_t uintptr_t;