在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位整型” |