数组和内存的关系
1.数组变量只是一个引用变量(类似于C的指针),通常存放在栈中。
2.数组对象是保存在堆内存中的连续内存空间。
3.引用变量不需要初始化,只需初始化引用对象。引用变量像是瓶子,引用对象是水。
int[] nums = new int[]{3, 5, 20, 12}; int[] prices;//定义一个prices数组变量 prices = nums;//让prices数组指向nums所引用的数组

4.静态初始化String[] names=new string[]{"孙悟空","猪八戒"}; 无需指定长度。
5.动态分配String[] names=new string[5];指定长度后,系统分配初始值。
6.所有的局部变量,不管是引用类型还是基本类型都是存在栈中,但引用类型所引用对对象则在堆中。
7所谓的多维数组只是进行了多次的引用。
int[] num=new int[5] //定义并初始化num数组,此时现在栈区给num分配了一个空间,再从堆内存划分出5个空间
int[] prices;
prices=num; //这时prices所指向的便是num的第一个元素
浙公网安备 33010602011771号