C# 参考变量的数据类型
考虑以下声明:C# 参考变量的数据类型,c#,C#,考虑以下声明: Class1 c1=new Class1(); 参考变量c1保存在堆栈中,实际对象分配在堆中 堆栈中此“参考变量”c1的类型是什么?它是指向堆内存地址的整数指针吗?首先,c1不一定位于堆栈上。它是一个值,该值将位于存储该变量的任何位置。它可能在堆栈上,也可能不在堆栈上,有很多因素会影响给定变量的存储位置 就变量的类型而言,c1变量的类型是Class1。该变量的值是对位于别处的对象的引用,而不是包含Class1实例的数据,这意味着具有Class1类型的变量。根据定义,一个存储位
Class1 c1=new Class1();
参考变量c1
保存在堆栈中,实际对象分配在堆中
堆栈中此“参考变量”
c1
的类型是什么?它是指向堆内存地址的整数指针吗?首先,c1
不一定位于堆栈上。它是一个值,该值将位于存储该变量的任何位置。它可能在堆栈上,也可能不在堆栈上,有很多因素会影响给定变量的存储位置
就变量的类型而言,
c1
变量的类型是Class1
。该变量的值是对位于别处的对象的引用,而不是包含Class1
实例的数据,这意味着具有Class1
类型的变量。根据定义,一个存储位置包含对其他位置的Class1
类型实例的引用,这意味着具有Class1
类型的变量,而这正是c1
的含义。就C而言,类型是“Class1”。该值是一个引用。这是一个简单的指针还是其他特定于实现的指针。请检查这一点,或者这是一个胖指针:地址,以及运行时需要的其他详细信息。谢谢Servy。我现在明白了。