变量名,变量,内存,牛牛,扣子

playmud 2005-01-12 09:23:28
412729496(流氓猪头(封闭)) 20:42:48
402176281(绅士亦花心) 20:39:22
变量:用来标识(identify)一块内存区域,这块区域的值一般是可以更改的,这就是它“变”的由来,但是我们可以通过使用如const等一些修饰符号来限定这一内存区域的操作特性(characteristic),即变量的操作特性。用const修饰的使变量不能更改的就和常量一样的变量叫做常变量。
变量名:是一个标识符(identifier),用来指代一块内存区域,即变量,使用变量使我们操作内存以区域(area),以块(block)为单位,提高了方便性。
402176281(绅士亦花心) 20:39:40
你个急性子,刚才让我弄丢了,我重打了一遍,靠!
412729496( 猪头流氓) 20:38:46
412729496( 猪头流氓) 20:38:50

412729496( 猪头流氓) 20:39:11
那变量名存放在哪里?
402176281(绅士亦花心) 20:40:52
你的机器代码中,是不会出现变量名的;变量名是给我们程序员操作内存来使用的。
412729496( 猪头流氓) 20:40:40

412729496( 猪头流氓) 20:41:07
还是没有理解
402176281(绅士亦花心) 20:42:16
想想在汇编年代,没有变量名,我们操作内存,都是用地址来直接操作的,还要控制区域大小;当然汇编语言已经有了简单的变量。
402176281(绅士亦花心) 20:42:18

402176281(绅士亦花心) 20:42:37
得从编译原理讲起
412729496( 猪头流氓) 20:41:37

402176281(绅士亦花心) 20:43:21
对于编译器,它会搜集我们的变量名,比如我们定义了一个全局的int a;那么编译器都为我们做了什么呢?
7903117( 雪花树) 20:44:31

375820697(偶是纸老虎) 20:45:26

51365133(渊海)(头的学生) 20:45:49

1402653( 绝对零度 ) 20:46:33

281928778(小lbing7( )) 20:46:37
猪头哥哥!!
刚刚那是谁的发言哦?
好强哦!!全讲完了!!
412729496(流氓猪头(封闭)) 20:45:54
还没有讲完呢
281928778(小lbing7( )) 20:47:19
等会你继续我会看着的!!

412729496(流氓猪头(封闭)) 20:46:18
402176281(绅士亦花心) 20:44:56
它会为程序预留4个字节的空间(假设在32位平台),并把我们的变量名“a”保存进符号表,并用这个符号表的索引对应实际的空间。
412729496( 猪头流氓) 20:44:22
那他还是占用空间啊?
402176281(绅士亦花心) 20:45:44
如果下面出现b = a;那么它就会根据符号表找到变量的真正的物理位置,取得它的值,赋给b。
402176281(绅士亦花心) 20:46:01
这是写编译器需要做的,我们需要建立符号表。
412729496( 猪头流氓) 20:45:02
是给b那快内存吧
402176281(绅士亦花心) 20:46:27
但是实际在汇编层次上,操作的都是地址而已,不存在任何名称了。
412729496( 猪头流氓) 20:45:38
这些东西都存在代码段吧
402176281(绅士亦花心) 20:46:52
也就是说,编译器对代码进行了翻译。
51365133(渊海)(头的学生) 20:47:25
在发次,刚才谁发了个图片,没有办法看就
281928778(小lbing7( )) 20:48:44
402176281(绅士亦花心) 20:46:52
也就是说,编译器对代码进行了翻译。

最终变量名还是不占空间的嘛
猪头哥哥
51365133(渊海)(头的学生) 20:49:41
它会为程序预留4个字节的空间

这又怎么说呢?
240201454(Sammy
402176281(绅士亦花心) 20:46:27
但是实际在汇编层次上,操作的都是地址而已,不存在任何名称了。
240201454(Sammy
谁说汇编没有变量名的?
281928778(小lbing7( )) 20:50:16
51365133(渊海)(头的学生) 20:49:41
它会为程序预留4个字节的空间

变量的空间!!!
281928778(小lbing7( )) 20:50:32
8086时代是有的
51365133(渊海)(头的学生) 20:50:37
知道了,明白了
281928778(小lbing7( )) 20:50:42
可以用一个伪指令定义
51365133(渊海)(头的学生) 20:53:20
就是在程序中变量名占4个字节(用来做表索引地址用),变量值根据类型不同分配不同的大小

在编译后,就不在存在变量名,只是用这个4个字节的地址来对变量的地址进行错做了!!
51365133(渊海)(头的学生) 20:53:49
我的理解,错了不许打我!!
51365133(渊海)(头的学生) 20:54:20
......... WC

一会回来
281928778(小lbing7( )) 20:56:58
在编译后,就不在存在变量名,只是用这个4个字节的地址来对变量的地址进行错做了!!
.......................................................................................
我觉得是这样,编译后变量名(也就是那个地址)做为一个操作指令的参数加入到机器码中,具体是怎么做那是编译器的事
281928778(小lbing7( )) 21:02:05
怎么没人理我啊?就是错也给个所以然好不好?

郁闷!
27224099(任飘摇) 21:05:03

412729496(流氓猪头(封闭)) 21:09:36
412729496( 猪头流氓) 21:01:28
我们从宏观,微观,哲学辨正的角度去看,他是存在的。
402176281(绅士亦花心) 21:02:59
你讲我听
412729496( 猪头流氓) 21:03:59
变量是一个宏观的东西,具体到微观,每一个变量都有一个名称,以区别开来让编译器(或者是那个牛牛)来分辨,而转到了内存里面某个牛牛根据变量的类型来分配一块内存。
402176281(绅士亦花心) 21:06:34
变量名不仅包括了变量包含的内存区域的首地址,而且包含了内存区域的大小。
412729496( 猪头流氓) 21:05:32
变量名-》内存空间是在不同纬度上的一个标识,是一个牛牛的转换,形式的改变,表现形式的不同。
412729496( 猪头流氓) 21:06:14
从哲学的角度上来看他是从一个概念到一个实体的过程。
412729496(流氓猪头(封闭)) 21:10:19
402176281(绅士亦花心) 21:09:56
恩,对,尤其是你的牛牛的运用很对。
402176281(绅士亦花心) 21:11:01
其实那些转换都是“牛牛”需要考虑的,程序员无须做与“牛牛”有关的工作,但需与“牛牛”协作,有就是说你需要个“牛牛”。
412729496( 猪头流氓) 21:10:01
其实牛牛就是一个扣子
...全文
306 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangki 2005-03-01
  • 打赏
  • 举报
回复
哈哈哈哈!
gentlelover 2005-01-23
  • 打赏
  • 举报
回复
强烈要求楼主加分~~~~~~~~

我以值班室副室长的名义。
playmud 2005-01-21
  • 打赏
  • 举报
回复
很厚到
gentlelover 2005-01-21
  • 打赏
  • 举报
回复
楼主不厚道!
playmud 2005-01-18
  • 打赏
  • 举报
回复
嘿嘿,晚了!
gentlelover 2005-01-18
  • 打赏
  • 举报
回复
强烈要求加分、结帖!
sandrowjw 2005-01-18
  • 打赏
  • 举报
回复
倒,饼子上人太多,搞不清楚一些名字。
playmud 2005-01-16
  • 打赏
  • 举报
回复
是饼子
sandrowjw 2005-01-15
  • 打赏
  • 举报
回复
晕,原来不是饼子
sandrowjw 2005-01-15
  • 打赏
  • 举报
回复
哎呀,昨天上来晚了,米有看到这么精彩的对话。
pcyy 2005-01-13
  • 打赏
  • 举报
回复
顶一个,包!
playmud 2005-01-13
  • 打赏
  • 举报
回复
顶一个,包!
gentlelover 2005-01-13
  • 打赏
  • 举报
回复
汗自己一个~~这么晚了~~
Freezeawhile 2005-01-13
  • 打赏
  • 举报
回复
看过
yjh1982 2005-01-13
  • 打赏
  • 举报
回复
啥意思?
playmud 2005-01-13
  • 打赏
  • 举报
回复
你在群里叫啥?
ainibaobao 2005-01-13
  • 打赏
  • 举报
回复
能给个群号吗??我是牛牛。多多指教。
kobefly 2005-01-13
  • 打赏
  • 举报
回复
这个不是偶们的群?

我不知道~~


郁闷的要死
公司把QQ给封了

都没有向你们学习的机会了
somedummy 2005-01-13
  • 打赏
  • 举报
回复
饼子,这个好像不是我们的群唉!
somedummy 2005-01-13
  • 打赏
  • 举报
回复
饼子……
加载更多回复(5)

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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