原文地址:點擊打開鏈接 原文作者:lingon
在C中,既然有了int,爲什麼還要有uint?特別是uint16,uint32等又有什麼用?他們有什麼區別?”
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
“int是C/C++數據類型,uint,uint16,uint32並不是C/C++內建的類型,而只是一些typedef
可能的定義如下
typedef unsinged int uint; //爲了省事啊,這樣不用寫unsigned int而只需要寫uint
typedef unsigned short uint16;// int的size取決於平臺,比如16位平臺上sizeof(16)爲2,32爲上爲4,64位上爲8
// 而short的size則保證爲2字節,在需要明確指明數據大小時可以使用
typedef unsigned long uint32;//道理同上,sizeof(long)一定爲32,看看,在64位機上sizeof(long)
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
“大小的區別,
int就是一個機器字長
uint就是一個無符號的int
uint16就是一個無符號的16位整型
uint32就是一個無符號的32位整型”