社区
C语言
帖子详情
问:变量的名字在内存中占空间吗?
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)
变量
名是否
占
用
内存
空间
?
变量
:用来标识(identify)一块
内存
区域,这块区域的值一般是可以更改的,这就是它“变”的由来,但是我们可以通过使用如const等一些修饰符号来限定这一
内存
区域的操作特性(characteristic),即
变量
的操作特性。用const修饰的使
变量
不能更改的就和常量一样的
变量
叫做常
变量
。
变量
名:是一个标识符(identifier),用来指代一块
内存
区域,即
变量
,使用
变量
使我们操作
内存
以区域(
C/C++
中
【
变量
、
变量
名、地址之间的关系】
变量
:用来标识一块
内存
区域,即
变量
就是一块
内存
区域,而这个区域里面的值可以更改,故叫做‘变’量
变量
名:是一个标识符,用来指代一块
内存
区域,即
变量
,
变量
名并不
占
用
内存
空间
,使用
变量
名让我们操作
内存
以区域、以块为单位,提高了方便性 实例说明: 编译:
变量
名是给编译器看的,编译器根据
变量
是局部还是全局分配
内存
地址或栈
空间
,所谓的
变量
名在
内存
中
不存在,操作时转换成地址数存放在寄存器
中
了。 编译器会将...
如何给
变量
取
名字
c语言,C语言基础教程:
变量
的
名字
、类型和值
变量
的
名字
C语言
中
,要求对程序
中
所有的
变量
都须”先定义,后使用”.定义或说明一个
变量
时,要给出该
变量
的
名字
。
变量
名字
的起法同前面讲过的标识祠污。
变量
名一般用小写字母,也可以用大写字母或大写小写字母混用。给
变量
起名时应尽量考虑勤在。
名字
中
体现出该
变量
的含义或使用目的,以便提高可读性。
变量
名不要同系统的关键字相同,
变量
名的长度按标识符的规定,有些微机系统只识别前8个字符,多余的不能被识别。本教程
中
的一...
c语言
中
的
变量
和地址的关系,c语言
变量
名和地址的关系
在汇编编译器编译时直接将
变量
名转换成
内存
地址,
变量
名并不
占
内存
空间
在编译的时候编译器会把程序
中
出现的所有
变量
名都换成相对
内存
地址,
变量
名不
占
内存
变量
名不
占
空间
变量
:用来标识(identify)一块
内存
区域,这块区域的值一般是可以更改的,这就是它“变”的由来,但是我们可以通过使用如const等一些修饰符号来限定这一
内存
区域的操作特性(characteristic),即
变量
的操作特性。用const修饰...
java
变量
占
用
空间
_java
变量
与
内存
深入了解
=========================================================================================在我看来,学习java最重要是要理解what(这东西是什么),why(为什么要用它),where(在哪用它),how(怎么用)。所以接下来,我都是以这样的思想来和大家交流,从最基础的知识讲起。如果有啥出错的,欢迎大家前来批...
C语言
70,020
社区成员
243,265
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章