2 dearwangzong dearwangzong 于 2016.02.16 15:30 提问

.net在申明变量的时候,变量是属于什么状态?

如题

今天看了一本书,本人的基础底子还是比较薄弱了,代码写了这么久才有兴趣去看看原理,
Public struct ValPoint
{
Public int x;
Public ValPoint(int x)
{
this.x = x;
}
}

ValPoint vPoint1; //在书上表示这里并没有进行入栈,只有对变量进行了操作后才会算作是入栈

vPoint1.x=1;//也就是这一步的时候才会进行入栈

Console.WriteLine(vPoint.x);//而在这一步的时候,会进行出栈

那么在我声明这个结构的时候,这个结构是被放在哪里了?

2个回答

bdmh
bdmh   Ds   Rxr 2016.02.16 15:34
已采纳
dearwangzong
dearwangzong 不过还有个问题,虽然我理解的栈和堆,但是如果我申明一个int i ;但是不给他赋值,这时这个对象也会进堆栈吗?
2 年多之前 回复
dearwangzong
dearwangzong 看完后深刻理解了,谢谢
2 年多之前 回复
Mr_dsw
Mr_dsw   Ds   Rxr 2016.02.16 22:03

变量一般是在栈中,对象是在堆中

dearwangzong
dearwangzong 这个我知道,,就是所谓的入栈和出栈,在入栈前,比方值类型,在入栈前是在哪?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
什么是定义,什么是声明。
定义和声明有什么区别:   举一个例子: A),int a;B),extern int a; 那个是定义,那个是声明呢?或者都是定义,又或者都是声明。 这个问题,在我工作中和学习中,从来没有被教过和问过。 在计算机中,到底什么是定义,什么是声明,定义和声明的区别归根到底在哪? 先来说一下什么是定义: 所谓定义就是创建一个对象,为这个对象分配一块内存,同时给这块内存取一
变量的定义和声明的区别详解
感言:我马上大三了,对计算机也算是有点感兴趣,但一直以来我对变量的定义和声明都很模糊,最开始看书上是这样讲的:定义-->就形如 int a;这就是定义了一个整形变量,然后就说变量的定义只能是一次而声明却可以多次,然后就没,我也问了好几个老师,他们也都是这样说的,我在网上搜的答案也感觉讲得不是很细,所以我总觉得这不是我想要的答案,直到我看了>后才明白了原来里面还是有很多值得深挖的地方,所以分享给大家
声明string变量的几种方式区别
string s = null; 只定义了一个string型的变量s而不为其分配内存,使用它之前必须为它赋值如 s="xxx"; 不然程序运行时可能会引发空指针异常 string s = String.Empty; 与 string s = ""; String.Empty表示空字符串。String.Empty的定义为public static readonly string E
变量和函数的定义和声明
2. 定义和声明  2.1. extern和static关键字  在上一节我们把两个程序文件放在一起编译链接,main.c用到的函数push、pop和is_empty由stack.c提供,其实有一点小问题,我们用-Wall选项编译main.c可以看到: $ gcc -c main.c -Wall main.c: In function ‘main’: main.c:8: wa
C++变量的存储类别(动态存储、静态存储、自动变量、寄存器变量、extern、static) 总结
一、动态存储方式与静态存储方式 变量还有另一种属性——存储期(storage duration,也称生命期)。存储期是指变量在内存中的存在期间。这是从变量值存在的时间角度来分析的。存储期可以分为静态存储期(static storage duration)和动态存储期(dynamic storage duration)。这是由变量的静态存储方式和动态存储方式决定的。 所谓静态存储方式是指在程
整型变量是一个变量
变量 一份声明,如×= 5;似乎是明显的。正如你所猜测的,我们将分配5到X的值,但是确切的是什么?是一个变数。 C++中的变量是一块内存可以用来存储信息的一个名字。你可以把一个变量作为一个邮箱,或一间小屋里,我们可以把和检索信息。所有的计算机都有一种叫做随机存取记忆体的记忆体,可供程式使用。当定义一个变量时,一块内存被放置在变量中。 在这一节中,我们只考虑整型变量。整数是整数,如1、2、3、
JSP中变量的声明
在JSP中声明变量有两种方法,分别为和。而他们是有区别的:声明的在每次刷新同一个页面时,该变量会被从新定义,而通过声明的变量不会被从新定义,并且声明的这个变量的值为上一次刷新的时候的值,通过声明的变量可以简单的记录网页被访问的次数。 原因是在JSP转化为servlet时,通过声明的变量为转换的servlet中方法_jspService()的局部变量,而声明的变量为该对应的servlet的成员变量
extern声明变量详解
昨天写完文章快零点,为了不浪费每天一次的群发资格,得赶在零点之前发送,刚给自己的个人微信号发了预览,Mac竟然死机了,看来一个月不关机还是会出点小问题。写的文章还没保存,这下只能是从手机复制粘贴发送到电脑上重新编辑了,于是狠了心按了强制关机。重新开机后发现,所有软件竟然全部恢复了死机前的状态,包括我那正在编辑还没保存的文稿,这里要为Mac系统点个赞! 以上是题外话,今天的内容是编程相关的,非计算
JavaScript函数声明前置与变量声明
先看一个例子func1(); // 输出:我是函数声明func2(); // 报错 console.log(a); // 输出:undefinedfunction func1() { console.log("我是函数声明"); }var func2 = function() { console.log("我是函数表达式"); }var a = 10;因为JS会对函数声明
循环中定义的变量为局部变量,只能在循环语句中使用
/* 循环中定义的变量为局部变量,只能在循环语句中使用 */ public class XunHuanBianLiangTest { public static void main(String args[]){ for (int i=0;i<10;i++){ System.out.println(i); } //System.ou