C语言的基础类型的内存空间

C语言中,基础类型的内存占用与编译器位长有关。例如,int、long int、short int的宽度可能因编译器不同而变化,但ANSI/ISO规定了它们之间的相对大小关系。char占1字节,float和double分别为4和8字节,short int至少2字节,long long至少8字节。无符号类型大小不变,指针大小与编译器位长相同。测试代码展示了32位和64位编译器下不同类型的实际占用空间。
摘要由CSDN通过智能技术生成

学习C语言的时候,对C语言的基础类型所占用的内存空间是非常模糊的。查阅资料,才知道C语言的基础类型占用的内存空间与编译器位长有关,常见是16位、32位、64位。维西目前用的是32位、64位编译器,而16位的数据是查阅资料得来的,问号是尚未查阅到,欢迎纠错、补充。

 

int,long int,short int的宽度都可能随编译器而异。但有几条铁规(ANSI/ISO制订的):

1、sizeof(short int)<=sizeof(int)

2、sizeof(int)<=sizeof(long int)

3、short int至少应为16位(2字节)

4、long int至少应为32位(4字节)

图1  基础类型占用的内存空间

按表格总结:

1)字符类型char占1个字节。

2)浮点型基本类型float、double分别占4个字节和8个字节。

3)short int等短最短(最短指在整型里最短字节数是2),占2个字节。long long等长最长(最长指在整型里最长字节数是8),占8个字节。

4)无符号修饰的基础类型所占空间大小不变,如int和usigned

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值