uint8_t / uint16_t / uint32_t /uint64_t

这些数据类型是 C99 中定义的,具体定义在:/usr/include/stdint.h    ISO C99: 7.18 Integer types <stdint.h>

 1 /* There is some amount of overlap with <sys/types.h> as known by inet code */
 2 #ifndef __int8_t_defined
 3 # define __int8_t_defined
 4 typedef signed char             int8_t; 
 5 typedef short int               int16_t;
 6 typedef int                     int32_t;
 7 # if __WORDSIZE == 64
 8 typedef long int                int64_t;
 9 # else
10 __extension__
11 typedef long long int           int64_t;
12 # endif
13 #endif
14 
15 /* Unsigned.  */
16 typedef unsigned char           uint8_t;
17 typedef unsigned short int      uint16_t;
18 #ifndef __uint32_t_defined
19 typedef unsigned int            uint32_t;
20 # define __uint32_t_defined
21 #endif
22 #if __WORDSIZE == 64
23 typedef unsigned long int       uint64_t;
24 #else
25 __extension__
26 typedef unsigned long long int  uint64_t;
27 #endif

格式化输出:

unit64_t     %llu   

unit32_t     %u

unit16_t    %hu

原文地址:https://www.cnblogs.com/ShaneZhang/p/3147648.html