【发布时间】:2018-12-11 21:30:56
【问题描述】:
如果我设置变量,在任何编程语言中:
name = 'Jhon';
因此,它将在 RAM 中占用 4 个字节的空间。但是如果:
name = '';
它仍然会在RAM 中保留一个空白区域,或者会是什么场景?
【问题讨论】:
-
“x”是指“C”吗?
-
我编辑我的问题
-
您的问题没有好的答案。所有语言都是不同的。所有语言都有一些优化,可以一起删除 var。有些需要变量本身的额外元数据。对于'c',如果不优化,第一个例子会占用5个字节,第二个,1个字节。它可能是字对齐的。
-
哪种语言?哪个内存?如果你不使用变量编译器可以剥离它。 'John' 是我想的一个字符串(不是 C/C++,看起来你正在使用 PHP)。字符串是许多语言中的基本类型,但内存占用取决于。有些语言存储带有长度前缀的字符串,有些带有终止符(如 C),有些带有内存范围。对齐也会影响内存需求。有些实现了一些智能复制,例如复制一个常量字符串(就像您在示例中所做的那样)可以只使用一个指针。请更具体!
-
如果您想了解 Javascript,那么您应该提出有关 Javascript 的问题。您通过标记 [c] 发送了混合信号,但提出了建议您想要一个涵盖所有语言的答案的散文,现在询问 cmets 中的 Javascript。单看散文,这个问题太笼统了。考虑到标签和评论,不清楚。