C语言中整型的定义

使用C语言时,用sizeof运算int,long int,long long int时,得到的结果不尽相同。那么这些类型长度与什么有关?与机器?与编译器(语言实现)?还是操作系统?我查阅了一些资料,将之总结下来,希望能有一些参考价值。也欢迎指正纠错,共同学习!


C语言的实现一般由编译器和标准库开发者提供,而这部分开发者有很多,常见的编译器有微软的vc,GNU的gcc,Borland的TC,Intel也有自己的C编译器。各个提供者都有自己的想法,都可能会往语言特性中加入一些新的扩展实现,比如一些关键字,一些标准没有的标准库函数,或是一些标准库函数的返回值与其他的不一样等等。但他们都会遵循C语言标准,即是我们常听说的C99、C90/C89、C11等等。

一、C标准定义:

int类型是一个类型系列,在C语言中,基本的int 类型包括char,long,int,short,bool(_Bool关键字,C99)。C99标准中说明了,实现必须等于或大于<limits.h>的定义。

以下列出所有C标准中定义的类型(C99):


char: 机器上最小的地址单元。头文件中对应CHAR_BIT,8 bits;

signed char:与char长度相同,范围必须能承载至少[-127,+127],即8 bits大小,其中一位用作符号位;

unsigned char:与char长度相同,但无符号位,范围大小为[0, 2^CHAR_BIT - 1],8 bits;


short

short int

signed short

signed short int:以上四种为带符号的short类型,必须能承载至少[-32767, +32768]范围,也即是至少16bits长度。


unsigned short

unsigned short int: 同short, 但无符号,长度至少16bits。


int

signed

signed int:基本的int,必须能至少承载[-32767, +32767]范围&#

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值