首页 新闻 会员 周边

C#变量声明在内存的存储位置

0
悬赏园豆:20 [已关闭问题] 关闭于 2013-08-15 08:58
如果int i=3;3存储在栈上,i编译成变量的地址,那么这个i存在什么地方?
LiloT的主页 LiloT | 初学一级 | 园豆:6
提问于:2013-08-13 16:58
< >
分享
所有回答(2)
0

值类型直接存储在栈上,int i = 3中,i 不是变量的地址,值类型不是通过引用地址进行传递的。所以申明变量int i = 3后会在栈中分配一块地址用来存储int i = 3.

psforever | 园豆:461 (菜鸟二级) | 2013-08-13 17:04

但是这个栈的地址存在哪儿?

支持(0) 反对(0) LiloT | 园豆:6 (初学一级) | 2013-08-13 17:06

@LiloT: 直接在内存中开辟一块空间来存储的。

支持(0) 反对(1) psforever | 园豆:461 (菜鸟二级) | 2013-08-14 09:33
0

系统编译之后所有的变量都存储到符号表中,并且每个表项被分配一个符号ID

LiloT | 园豆:6 (初学一级) | 2013-08-13 17:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册