大家都知道..int ,bool,枚举,自定义结构等值类型是分配在栈上的..
而引用类型是分配在托管堆上的值类型在作为函数的参数时是复制一份再传入到函数内部的
而引用类型只是把存放对象地址的变量复制了一份,再传入。。
那如果分配一个int[100]呢.
比如一个函数的参数是数组
int max(int[] array)
{
.........
....
}
那传入到函数的数组参数是否也复制了一份呢,还是把指向数组首元素的地址传入呢.
如果是复制了一份数组的话..那不就占用了两份资源...
///////////////////////////////////////////////////////
还有一个问题就是
int[] arr=new int[]{1,2,3,4,5,6};记得new 的说明好像是在托管堆上面实例化一个类对象
那又说值类型是分配在栈上的。。那不就是矛盾了吗。
小弟对此一直很迷惑。。请高手指点...
或指出小弟错在哪里...
呵呵