问个c#值类型引用类型内存分配问题
最近在学数据类型,关值类型和引用类型我是这样认为的,大家看看有没有什么问题 !
比如这样一个程序:
void Main (string[]ss)
{
int a=10;
char b='b';
int[] arr=new int[5];
}
像值类型 a b 在线程栈中 就分别分配一个 4个字节(32位)的内存地址给a , 然后分配一个字节的栈内存给 b。
像引用类型的arr 在托管堆中, 分配一个5*4个字节的堆内存给arr, 然后再栈中存储这个5*4个字节的堆内存的引用 也就是地址
不知道我上面说的2句话对不对? 如果都是对的,像int这样的值类型,栈给了他4个字节来保存,那引用类型的地址在栈中是用多大的空间来保存的呢?保存的是不是十六进制表示的内存地址?