谢谢每一个好人百忙之中来解决别人的疑问!
比如:
//学生
class student
{
public string name;
public int age;
public student(string _name, int _age)
{
this.name=_name;
this.age=_age;
}
}
//班级
class Classes
{
③public string classesName;
⑤public student oneStu;
public Classes(string _calssesName)
{
this.classesName=_calssesName;
}
public void someDeal(string stuName,int stuAge)
{
⑥int i=0;
⑦string strSome="aaa";
⑤oneStu=new student(stuName,stuAge);
}
}
如果是在控制台应用程序中:
static void main() {
①.int MI=0;
②.stuClasses oneClass=new stuClasses("软件***");
④.c.someDeal("张三",18);
}
请问我这样分析是否正确:
(一)
①.MI存储在栈中,
②.oneClass存储在栈中,表示指向Classes的一个实例,实例存储在堆中
③.classesName表示为2中的实例字段,存储在堆中
④.⑤s存储在2中实例的堆中,并且指向另外一个堆student的实例
其他疑问:
(二).对于局部变量⑥⑦是如何存储的
(三).如果我把⑤换成student oneStu=new student(stuName,stuAge);⑤又应该如何理解
(四).对于asp.net,我不知道有没有main函数,那么哪些数据表示在栈中,哪些数据表示在堆中呢。我们一直在使用类库,那么对于一个生命周期,难道我们操作和处理的全部都是堆中的数据吗?栈又何去何从呢?
由于初学,可能提的问题本身就有问题,请大牛纠正,谢谢!!!
局部变量名分配在堆栈中,局部变量的值,按照 值类型和引用类型来分配。要了解 分配,不只是知道 分配在哪,重要的是 把 分配图 画出来 。
其他问题能不能帮忙回答一些呢?
还有如果有时间能否帮忙根据上面的类代码,画一张图?谢谢了!