问:变量的名字在内存中占空间吗?

C_projecting 2005-02-28 04:06:44
请高手详细讲解一下~~~谢了哦~~~
...全文
816 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rudy_zhuang 2005-03-07
  • 打赏
  • 举报
回复
楼主还不结帖吗?还是解释的东西不够?
VxD1 2005-03-07
  • 打赏
  • 举报
回复
不占,变量名只是供编译器和链接器组织程序用
yuchengliu 2005-03-02
  • 打赏
  • 举报
回复
不占
goodluckyxl 2005-03-02
  • 打赏
  • 举报
回复
不占
sky911911 2005-03-02
  • 打赏
  • 举报
回复
代码
数据区域
栈 低地址;

堆 高地址;
fertiland 2005-03-02
  • 打赏
  • 举报
回复
不论是地址还是标号,变量总要占存储空间,要不然就不可理解了!
Rudy_zhuang(风筝),讲解得很完整!
Rudy_zhuang 2005-03-02
  • 打赏
  • 举报
回复
To gentlelover(绅士亦花心·灌
楼主想想汇编语言中的“标号”,你说它会占用内存空间吗?
~~~~
标号不同于变量,C语言中也有标号。
标号只是一个内存地址,作为jmp指令或goto语句的参数,确实不会占用内存空间。
Rudy_zhuang 2005-03-02
  • 打赏
  • 举报
回复
To C_projecting(逝者如C) :
代码中变量的名字会不会影响生成文件的大小?

1.变量的名字不会影响生成文件的大小,因为在编译后,变量的名字就会转化为一个地址。所以,不管其名字如何取,只要是合法的,在生成目标文件后,所占的代码空间是一样的。
2.因为变量是要占用目标文件中的代码段的,所以,变量的数量越多,其占用的代码空间也就越多,所需要的运行空间也就会大一些。如果是全局变量,在运行时要占用数据段,所以数量越多,占用的内存一定也是更多。

gentlelover 2005-03-02
  • 打赏
  • 举报
回复
楼主想想汇编语言中的“标号”,你说它会占用内存空间吗?
threadpaper 2005-03-02
  • 打赏
  • 举报
回复
编译原理
Rudy_zhuang 2005-03-02
  • 打赏
  • 举报
回复
To gentlelover(绅士亦花心·花花)
这儿讨论的是变量,你提出了标号,我只是指出标号不同于变量。并无反驳你之意。
gentlelover 2005-03-02
  • 打赏
  • 举报
回复
回复人: Rudy_zhuang(风筝) ( ) 信誉:105 2005-03-02 09:51:00 得分: 0


To gentlelover(绅士亦花心·灌
楼主想想汇编语言中的“标号”,你说它会占用内存空间吗?
~~~~
标号不同于变量,C语言中也有标号。
标号只是一个内存地址,作为jmp指令或goto语句的参数,确实不会占用内存空间。


================================================================================
你在反驳我吗?我就晕!
winstonch 2005-03-01
  • 打赏
  • 举报
回复
绝对不会影响
C_projecting 2005-03-01
  • 打赏
  • 举报
回复
代码中变量的名字会不会影响生成文件的大小?
Great_Bug 2005-02-28
  • 打赏
  • 举报
回复
变量在编译后,就没有名字乐。
woodcord 2005-02-28
  • 打赏
  • 举报
回复
支持!
firstdreamer 2005-02-28
  • 打赏
  • 举报
回复
楼上说的有道理
Rudy_zhuang 2005-02-28
  • 打赏
  • 举报
回复
变量可以分成全局的和局部的两类。
一般把程序运行的时候所占的内存空间分为(从低到高):代码段,数据段,堆栈空间(往高地址长)和堆空间(往低地址长)。
代码段和数据段是编译期间就确定的,全局的变量在数据段中,所以在整个程序运行期间,都占用内存空间。
而局部变量,它(绝对地址)是在栈上动态生成的,当然它本身的地址(偏移量)已经在编译期间(实际上是连接的过程中)随着函数的入口地址而确定,由这一点看来,平时(指不运行这个函数时)这个变量只占用代码空间。
winstonch 2005-02-28
  • 打赏
  • 举报
回复
不对,这个地址一般是直接在代码段中了,这个解释起来挺麻烦的,你看看汇编方面的书应该可以明白一些.
C_projecting 2005-02-28
  • 打赏
  • 举报
回复
仍然需要空间来储存变量的地址,对吗?
加载更多回复(4)

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧