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

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

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

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

这是一个64位系统

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

对于各种c语言类型大小没有精确的定义,能够确保的只有如下几点:(一下描述来自:必须知道的495个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位系统上:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3970176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存