Pra*_*nth 2 c variables variable-names
可能重复:
任何编程语言中的变量名是否占用内存空间
我刚刚阅读有关内存分配的内容,不禁要问这个问题:
做到这两点
int x = 4;
Run Code Online (Sandbox Code Playgroud)
和
int this_is_really_really_long_name_for_an_integer_variable = 4;
Run Code Online (Sandbox Code Playgroud)
占用相同数量的内存(变量占用的总内存.不仅仅是)sizeof(int)
我知道这个问题与"编程语言和编译器构造"有关.但是,我没有研究它:(
通常它们占据相同的空间量,即sizeof(int).但是,有人可能会争辩说,在构建带有附加符号的目标文件进行调试时,比率是不同的.变量存储的数据量不会改变,但调试符号在变量名称较长的情况下占用更多空间.考虑以下示例.
$ cat short.c && gcc -c short.c && wc -c short.o
int x = 0;
927 short.o
$ cat long.c && gcc -c long.c && wc -c long.o
int this_is_really_really_long_name_for_an_integer_variable = 0;
981 long.o
Run Code Online (Sandbox Code Playgroud)
大小的差异正是变量名称长度的差异.
但是从运行时效率和内存使用的角度来看,这并不重要.