隨筆- int 、uint區別及數據長度

原文地址:點擊打開鏈接 原文作者: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位整型”
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章