数组的创建和引用
自我理解,如有错误,欢迎批评!
第一次写博客,感谢大家的支持!也希望大家多多建议,如有不足,敬请斧正!
对于数组来说,最重要的就是理解它是引用数据类型。既然是引用数据类型,那么他就需要用new来声明,并且是在声明后系统给他分配一个对应类型和大小地址。这点和c中有点差异,c中的基础数据类型都是定义即申明,所以c中的数组定义必须要告知数组大小,因为定义后就直接去分配空间了。这里又想到c里面的指针。c中的指针其实本身也就是一个变量,只不过他里面存的和其他一般变量不同,他存的是地址。例如int *pa=&a;那么就是相当于说把a的地址放到pa的存储中,也就是说printf(“%p %p ),&a,pa)是相等的。
数组基础知识分为三方面:
1-声明
2-初始化
3-引用
下面从一维数组入手:
1-声明:
a- Type arrayName[ ];
b- Type [ ] arrayName; (更为普遍使用)
2-初始化:
a- arrayName = new Type[ length];
b- arrayName = {1,2,3,4...} //直接将内容写入数组
c- int [ ] x = {1,2,3,4};
arrayName = x; //因为数组是引用数据类型,所有就相当于把x内存的地址赋给arrayName,也就是x和arrayName指向同一个地址,
也就是说假如通过x去改变数组的值,arrayName也会 改变,因为他们本身就是指向同一个地方!
3-引用:
a- arrayName[ arrayIndex]; //利用数组名和下标值引用数组元素
二维数组:
1-声明:
a- Type arrayName[ ][ ];
b- Type [ ][ ] arrayName; (更为普遍使用)
2-初始化:
a- arrayName = new Type[row][col ];
b- arrayName = {{array1},{array2}...} //直接将内容写入数组
c- int [ ] x = {1,2,3,4};
int [ ] y = {a,b,c,d};
arrayName[0] = x;
arrayName[1] = y; //和前处一维数组相同
注意:
Java中多维数组是可以不同行的列数不同的数组是可以定义的( C语言中多维数组定义行数可以不定,列数必须定义 )
例: Type [ ][ ] arrayName = new Type[row][ ];
arrayName[1] = new Type[ col1];
arrayName[2] = new Type[ col2];
3-引用:
a- arrayName[ arrayIndex1] [arrayIndex2]; //利用数组名和下标值引用数组元素
谢谢!小白上路,多多体谅/xk

浙公网安备 33010602011771号