问题标签 [static-memory-allocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
58 浏览

c++ - 为什么从外部访问本地声明的变量有效?

在树中,在获取输入(takeInput函数内部)时,树节点是使用动态分配创建的,但我尝试静态地进行,但是由于树节点是在本地函数内声明的,它应该不起作用,因为它是一个局部变量(我期待一个错误)。但是为什么即使在那之后我也可以打印它:

注意:此代码以递归方式接受输入(可能不是最好的方法)

以下代码使用动态分配:

0 投票
1 回答
58 浏览

c++ - 在“编译时”分配内存是什么意思?

我的理解是,堆栈、虚拟表、静态变量等静态内存都是在“编译时”分配的,而不是在运行时分配的动态内存。但我对这意味着什么感到困惑。据我了解,编译器/链接器解释编写的代码,将其翻译成机器语言,然后将其组装成可执行文件。是否暗示堆栈和所有静态内存都是可执行文件本身的一部分?

0 投票
0 回答
12 浏览

memory - 伙伴内存分配在不是邻居时合并



如果两个相等的空闲空间不是邻居, 谁能解释合并时算法会做什么?

不确定这个状态是否正确,
两个空闲的64 位空间,但没有合并?( 0-63 && 128-191 )

现在怎么了?!
尽管不是邻居,免费的 64 位空间能否以某种方式合并?

0 投票
2 回答
63 浏览

c - C编程指针、字节和内存分配有8道题

我正在尝试获取字节和指针以及它们的存储方式,任何人都可以解释或回答我的一些问题。谢谢

  • 我怎样才能访问这个 int 指针的第一个字节?[问题01]
  • 有没有办法查看第一个字节([01])内部的咬痕?[问题02]
  • 指针在哪里保存地址?它是否必须在 ram 中分配一个内存空间来保存地址,例如 0x233828ff21,如果是这样,这个(0x233828ff21)地址需要很多字节?[问题03]
  • 这个 int 指针在哪里存储它的类型长度(4 字节)?[问题05]
  • 如果我声明具有更长字节内存分配的类型,例如long long * ptr = #[01][02][00][00][00][00][00][00] 会发生什么,因为我将 long long 指向 4 字节 int ,最后这 4 个是否已经被另一个程序分配并正在使用中?我可以读吗?[问题06]
  • 二进制只有 0 和 1,其中一个(0 或 1)是否称为咬?[问题07]
  • 一个字节是8位对吗?为什么我在转换本网站(https://www.rapidtables.com/convert/number/decimal-to-binary.html)中的数字1时得到16位0000000000000001不应该是8?[问题08]
0 投票
3 回答
66 浏览

c - #define CONST_STR "my_string" 和 const char *CONST_STR = "my_string" 中哪一个是内存效率高的

我需要在我的 C 代码的 100 行中使用常量字符串“ my_string”。
而且我对最终二进制大小有限制。
那么我应该去哪一个呢?
(我认为const char*更好,因为内存只分配给字符串一次。我是对的......?)

编译器:gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
编译器选项: -fPIC -Wall -g -O2 -pthread -O2 -g