這些數據類型是 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