- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是计算机编程新手。我正在研究变量并在互联网上发现了一个定义:
Variables are the names you give to computer memory locations which are used to store values in a computer program.
这些内存位置是什么?这些位置是否指的是实际的计算机内存,或者这只是程序本身的转储,稍后当我们需要它们时会调用这些变量?另外,我在堆栈溢出方面还遇到了其他术语,例如堆和堆栈。我无法理解这些。请帮忙。
最佳答案
您提出问题的方式表明您期望得到一个答案。事实并非如此。
粗略地说,当程序执行时,所有变量都将存在于内存中。变量存在的内存取决于几个因素。
现代计算机硬件通常具有相当复杂的物理内存架构 - 具有多层缓存(在 CPU 和各种外围设备中)、许多 CPU 寄存器、共享内存、不同类型的 RAM、存储设备、EEPROM等等。不同的系统以不同的比例拥有这些类型的内存 - 以及更多类型。
操作系统可能会以不同的方式为您的程序提供内存。例如,它可以使用 RAM 和保留的硬盘驱动器空间的组合来提供虚拟内存(并管理映射,因此您的程序无法区分)。这可以让你的程序使用比物理上可用的 RAM 更多的内存,但也会影响性能,因为操作系统必须在 RAM 和硬盘驱动器之间交换程序的内存使用情况(通常要慢几个数量级)。
实现了许多编译器和库来最大限度地提高程序性能(通过各种措施) - 代码的编译器优化(这可能导致程序运行时代码中的某些变量甚至不存在),精心设计的库函数这样做的一个后果是编译器或库可能以不同的方式使用内存(例如,某些实现可能会在可执行文件中嵌入代码以检测程序运行时可用的内存资源,其他实现可能只是假设固定的内存资源) RAM 量),并且使用情况甚至可能随着时间的推移而变化。
关于c - C 程序中的变量到底存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38095928/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!