java二维数组初始化-c++ 二维对象数组
C#支持一维数组、多维数组(矩形数组)和数组的数组(交错数组)。 以下示例显示了如何声明不同类型的数组:
一维数组:
int[] numbers;
多维数组:
string[,] names;
数组的数组(交错):
byte[][] scores;
声明数组(如上所示)实际上并没有创建它们。 在 C# 中,数组是对象(在本教程后面讨论)并且必须被实例化。 以下示例显示了如何创建数组:
一维数组:
int[] numbers = new int[5];
多维数组:
string[,] names = new string[5,4];
数组的数组(交错):
byte[][] scores = new byte[5][];
for (int x = 0; x < scores.Length; x++)
{
scores[x] = new byte[4];
}
更大的阵列也是可能的。 例如,您可以拥有三维矩形数组:
int[,,] buttons = new int[4,5,3];
您甚至可以混合矩形和锯齿状阵列。 例如,下面的代码声明了一个由二维数组组成的二维数组的一维数组,类型为int。
int[][,,][,] numbers;
初始化数组
C# 提供了一种在声明时初始化数组的简单直接的方法,方法是将初始值括在大括号 ({}) 中。 以下示例显示了初始化不同类型数组的各种方法。
注意,如果数组声明时没有初始化,数组成员会自动初始化为数组类型的默认初始值。 此外,如果将数组声明为类型的字段,则在实例化该类型时,它会被设置为默认值 null。
一维数组
int[] numbers = new int[5] {1, 2, 3, 4, 5};
string[] names = new string[3] {"Matt", "Joanne", "Robert"};
数组的大小可以省略如下:
int[] numbers = new int[] {1, 2, 3, 4, 5};
string[] names = new string[] {"Matt", "Joanne", "Robert"};
如果提供了初始值设定项,也可以省略 new 运算符,如下所示:
int[] numbers = {1, 2, 3, 4, 5};
string[] names = {"Matt", "Joanne", "Robert"};
多维数组
int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} };
数组的大小可以省略如下:
int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} };
如果提供了初始值设定项,也可以省略 new 运算符,如下所示:
int[,] numbers = { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} };
锯齿状数组(数组的数组)
锯齿状数组可以按以下示例所示进行初始化:
int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
第一个数组的大小可以省略,如下所示:
int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
-或者-
int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
请注意,交错数组的元素没有初始化语法。
(3) C++
1、一维数组的定义和初始化
1.1 定义一维数组
诠释 [3];
这个定义表示一个整型数组,一共有3个元素,下标分别为[0]、[1]、[2]。
1.2 一维数组初始化
可以通过以下方式初始化。
①定义数组时,分别给数组元素赋初值。
int a[3]={0,1,2};
②只给部分元素赋值。
int a[3]={0,1};
这意味着只给前两个元素赋初值,后面的元素值默认为0。
③ 给所有数组元素赋初值时,可以不指定数组的长度。
int a[3]={0,1,2};
可以写成
int a[]={0,1,2};
第二种写法,花括号中有3个元素,系统会自动相应地定义a数组的长度为3。 但是,如果定义的数组长度与提供的初始值个数不同java二维数组初始化,则数组长度不能省略。
2、二维数组的定义和初始化
2.1 定义一个二维数组
诠释[3][4];
修改后的定义表示一个 3x4(3 行和 4 列)整数数组。 你可以把这个二维数组想象成:
|---a[0]:a[0][0],a[0][1],a[0][2],a[0][3]
a |--a[1] :a[1][0],a[1][1],a[1][2],a[1][3]
|--a[2] :a[2][0],a[2][1],a[2][2],a[2][3]
在C++中,二维数组的元素排列顺序是:按行存储,即第一行的元素依次存储在内存中java二维数组初始化,第二行的元素依次存储,然后向下。
2.2 二维数组初始化
可以通过以下方式初始化。
①逐行给二维数组赋初值。
int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};
②把所有的数据写在花括号里,按照数组排列的顺序给每个元素赋初值。
int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
③ 只给部分元素赋初值。
int a[3][4]={{1},{2},{4}};
1 0 0 0
2 0 0 0
4 0 0 0
int a[3][4]={{1},{0,2},{0,0,4}};
1 0 0 0
0 2 0 0
0 0 4 0
int a[3][4]={{1},{3,2}};
1 0 0 0
3 2 0 0
0 0 0 0
int a[3][4]={{1},{},{9}};
1 0 0 0
0 0 0 0
9 0 0 0
④如果所有元素都赋初值,定义数组时可以不指定第一维的长度,但必须指定第二维的长度。
int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
可以写成
int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11};
定义的时候,也可以给一些元素赋初值,省略第一维的长度,但是要给每一行赋初值。
int a[][4]={{0,0,1},{},{0,9}};
0 0 1 0
0 0 0 0
0 9 0 0