查看Linux系统是位数,64位机器上的int大小问题

前段时间面试时,突然被问道一下两个问题,当时居然懵逼了,一下做个记录:
1.查看Linux 系统位数:
命令:getconf LONG_BIT 如图:
在这里插入图片描述
这是一个64位系统

2.在64位机器上,sizeof(int)是几个字节?
int:是4个字节,不跟随系统变化,与c语言标准有关

对于各种c语言类型大小没有精确的定义,能够确保的只有如下几点:

char类型可以存放小于等于±127的值,即2^7,最高位表示符号位。若为五符号数,则是255,即2^8;
int 和short int 可以存放小于等于±32767,2^15,若为无符号数,则是65536,即是2^16,**即最大4个字节**
long int 无符号数是±2147484467,2^31,若为无符号数,则是4294967295,即是2^32,
总结:根据c99的规定,char 至多8位,1个字节;int 至多16位,4个字节;long int 则是之多32位。8个字节

指针变量:会跟随系统变化,因为不同系统,用二进制标识自己的寻址是位数不同啊,如64位系统寻址65537位置,如果指针变量还是4个字节,肯定不能找到
在64位系统上:
在这里插入图片描述

在32位系统上:
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值