加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 64位机器上int和sizeof int指针的大小

发布时间:2020-12-16 06:02:46 所属栏目:百科 来源:网络整理
导读:我只是想知道如何我的笔记本电脑是64或32位机器. (这是64). 所以,我想到打印如下: int main(){ printf("%d",sizeof(int));} 结果是4,这似乎很奇怪(因为它是64位机器) 但是,当我打印这个: int main(){ printf("%d",sizeof(int*));} 结果是8,这更有意义. 问
我只是想知道如何我的笔记本电脑是64或32位机器. (这是64).

所以,我想到打印如下:

int main()
{
 printf("%d",sizeof(int));
}

结果是4,这似乎很奇怪(因为它是64位机器)

但是,当我打印这个:

int main()
{
 printf("%d",sizeof(int*));
}

结果是8,这更有意义.

问题是:

由于我使用的是64位机器,所以不应该使用一个原始类型,如int应该使用8个字节

(64位)和那个sizeof int应该是8?为什么不这样呢?

为什么int * size是8?

这里有点困惑,

所以感谢提前.

解决方法

不,sizeof(int)是实现定义的,通常是4个字节.

另一方面,为了解决超过4GB的内存(这个32位系统可以做的),你需要你的指针是8个字节宽. int *只是将地址保存到“内存中的某处”,而且只能使用32位的内存,不能超过4GB的内存.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读