C語言中好像沒有這種數據類型,但是在實際應用的過程中,發現許多人的代碼中都存在這種表示方式。其實uintX-t就是通過typedef定義的,利用預編譯和typedef可提高效率也方便代碼移植。總結如下:
typedef unsigned char uint8_t; //無符號8位數
typedef signed char int8_t; //有符號8位數
typedef unsigned int uint16_t; //無符號16位數
typedef signed int int16_t; //有符號16位數
typedef unsigned long uint32_t; //無符號32位數
typedef signed long int32_t; //有符號32位數
typedef float float32; //單精度浮點數
typedef double float64; //雙精度浮點數
一般來說整形對應的*_t類型爲:
uint8_t爲1字節
uint16_t爲2字節
uint32_t爲4字節
uint64_t爲8字節
不難看出,通過頭文件X.h定義了uint8_t,其實編譯器實際上是把它作爲"char"來處理的,在對字符型的變量進行操作。以上僅做參考,有錯誤請指出。
源網站:http://www.openedv.com/posts/list/31510.htm