首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存中的内存分配

内存中的内存分配
EN

Stack Overflow用户
提问于 2021-06-28 06:33:48
回答 1查看 170关注 0票数 0

我是计算机科学的初学者,我开始学习C语言。(所以,如果我的问题没有任何意义的话,我首先要道歉)我在“指针”一章中遇到了一个疑问。

我在想,当我们声明一个变量时,让我们假设一个整数变量i。

内存分配给RAM中的变量。在我的书中,没有写任何关于计算机如何选择要分配给变量的内存地址的东西。我这么问是因为,我想一台电脑有8GB内存和32位处理器。

我了解到32位处理器由32位寄存器组成,它允许处理器最多访问内存的4GB

那么,在那台计算机中,当我们声明整数变量i时,计算机会分配一个地址为32位处理器无法访问的内存空间吗?

如果发生这种情况,如果我想用操作符的地址打印i的地址,屏幕上会显示什么?

EN

回答 1

Stack Overflow用户

发布于 2021-06-28 06:40:12

一台具有8GB内存的计算机将有一个64位处理器。

许多64位CPU仍然可以运行32位程序,在这种情况下,两者都使用4GB。您将看到地址&i是程序内存中的32位偏移量。但是,即使您确实为64位进行了编译,您仍然可以在程序中看到64位偏移-操作系统将指示CPU如何使用不同的内存部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68158560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档