C/C++,C#,JAVA数组
2016-04-30 21:59
459 查看
java []随便写前后,C#必须写变量左边,C/C++必须写右边
Java
一维数组
2) int[] a=new int[5]; //初始化为默认值,int型为0
3) int[] a={1,2,3,4,5}; //初始化为给定值
4) int[] a=new int[]{1,2,3,4,5}; //同(3)
▲int[] a=new int[5]{1,2,3,4,5}; //错误,如果提供了数组初始化操作,则不能定义维表达式
int[] a; a={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用
6) int a[]; a[0]=1; //错误,数组没有初始化
二维数组 1) int[][] a; //声明,没有初始化
2) int[][] a=new int[2][3]; //初始化为默认值,int型为0
3) int[][] a={{1,2},{2,3},{3,4}}; //初始化为给定值 int[][] a={{1,2},{2,3},{3,4,5}}; //没有错,数组空间不是连续分
配的,所以不要求每一维的大小相同
交错数组
4) int[][] a=new int[2][]; a[0]=new int[3]; //a[0]其实就是一个数组 a[1]=new int[4]; //每一维的大小可以不一样;
5) int[][] a=new int[][]{{1,2},{2,3},{3,4,5}}; //同(3)
▲ int[] a=new int[5]{{1,2},{2,3},{3,4,5}}; //错误,如果提供了数组初始化操作,则不能定义维表达式
▲int[][] a=new int[2][]; a[0]={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用
不管一维还是二维,可以用new默认初始化,也可以用数组常量初始化
C#以上都适用
★交错数组,与二维数组区别的是,每一维长度可以不一样
java的多维数组和交错数组无区别
int[][] c2 = new int[][] //不可直接={{1,2,3},{4,5,6},{7,8,9}} 必须new,而java可以
{
new int[] {1,2,3},
new int[] {4,5,6},
new int[] {7,8,9}
};
二维数组a[0,0],交错数组a[0][0],
C/C++
①在定义数组时分别对数组元素赋初值。
int a[3]={0,1,2};
②只给一部分元素赋值。
int a[3]={0,1};
这表示只给前面两个元素赋初值,后面的元素值默认为0。
③在对全部数组元素赋初值时,可以不指定数组长度。
int a[]={0,1,2};
不可声明int a[];后面再赋值,因为是值类型,且大小是其类型的一部分。不像java,C#使您可以声明一个数组并向它分配
int 对象的任意数组,而不管数组长度如何。
int a[][2] = { { 1, 2 }, { 2, 3 }, { 3, 4 } };
//必须指定列数
C++如果是new二维数组,需用二维指针,
int **a = new int*[m];
for(int i=0; i < m; i++)
a[i] = new int
;
Java
一维数组
2) int[] a=new int[5]; //初始化为默认值,int型为0
3) int[] a={1,2,3,4,5}; //初始化为给定值
4) int[] a=new int[]{1,2,3,4,5}; //同(3)
▲int[] a=new int[5]{1,2,3,4,5}; //错误,如果提供了数组初始化操作,则不能定义维表达式
int[] a; a={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用
6) int a[]; a[0]=1; //错误,数组没有初始化
二维数组 1) int[][] a; //声明,没有初始化
2) int[][] a=new int[2][3]; //初始化为默认值,int型为0
3) int[][] a={{1,2},{2,3},{3,4}}; //初始化为给定值 int[][] a={{1,2},{2,3},{3,4,5}}; //没有错,数组空间不是连续分
配的,所以不要求每一维的大小相同
交错数组
4) int[][] a=new int[2][]; a[0]=new int[3]; //a[0]其实就是一个数组 a[1]=new int[4]; //每一维的大小可以不一样;
5) int[][] a=new int[][]{{1,2},{2,3},{3,4,5}}; //同(3)
▲ int[] a=new int[5]{{1,2},{2,3},{3,4,5}}; //错误,如果提供了数组初始化操作,则不能定义维表达式
▲int[][] a=new int[2][]; a[0]={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用
不管一维还是二维,可以用new默认初始化,也可以用数组常量初始化
C#以上都适用
★交错数组,与二维数组区别的是,每一维长度可以不一样
java的多维数组和交错数组无区别
int[][] c2 = new int[][] //不可直接={{1,2,3},{4,5,6},{7,8,9}} 必须new,而java可以
{
new int[] {1,2,3},
new int[] {4,5,6},
new int[] {7,8,9}
};
二维数组a[0,0],交错数组a[0][0],
C/C++
①在定义数组时分别对数组元素赋初值。
int a[3]={0,1,2};
②只给一部分元素赋值。
int a[3]={0,1};
这表示只给前面两个元素赋初值,后面的元素值默认为0。
③在对全部数组元素赋初值时,可以不指定数组长度。
int a[]={0,1,2};
不可声明int a[];后面再赋值,因为是值类型,且大小是其类型的一部分。不像java,C#使您可以声明一个数组并向它分配
int 对象的任意数组,而不管数组长度如何。
int a[][2] = { { 1, 2 }, { 2, 3 }, { 3, 4 } };
//必须指定列数
C++如果是new二维数组,需用二维指针,
int **a = new int*[m];
for(int i=0; i < m; i++)
a[i] = new int
;
相关文章推荐
- C++模板详解
- C++指向成员运算符重载
- HAL库-STM32F4 外部中断-延时
- 一起talk C栗子吧(第一百三十九回:C语言实例--文件操作:基于文件描述符二)
- C语言 给字符数组赋值的方法
- Log4cpp介绍及使用
- c++ Multisets
- c++STL基本使用
- C++单元测试工具unittest++使用小结
- c++ sets
- Autoencoder的C++代码(带注释)。
- 用C++写Stash
- 1023. Have Fun with Numbers (20)
- Leetcode 14. Longest Common Prefix
- C++ 运算符重载
- C++ typedef用法详解
- Leetcode 13. Roman to Integer
- 课程设计__C++初步,C++对C的扩充
- Leetcode 12. Integer to Roman
- C++面试题汇集