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

你可能感兴趣的:(int,uint,sizeof,随笔)