查看Linux系统是位数,64位机器上的int大小问题
前段时间面试时,突然被问道一下两个问题,当时居然懵逼了,一下做个记录:1.查看Linux 系统位数:命令:getconf LONG_BIT如图:这是一个64位系统2.在64位机器上,sizeof(int)是几个字节?int:是4个字节,不跟随系统变化,与c语言标准有关指针变量:会跟随系统变化,因为不同系统,用二进制标识自己的point位数不同啊在64位系统上:在32位系统上:...
·
前段时间面试时,突然被问道一下两个问题,当时居然懵逼了,一下做个记录:
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位系统上:
更多推荐
已为社区贡献1条内容
所有评论(0)