(1)Java
1)
2)
3)
4)
5)
6)
1)
2)
3)
4)
5)
6)
总结: 1.二维就是数组的数组,里面的数组大小不要求一样
2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;
3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。
int[] numbers;
string[,] names;
byte[][] scores;
int[] numbers = new int[5];
string[,] names = new string[5,4];
byte[][] scores = new byte[5][];
for (int x = 0; x < scores.Length; x++)
{
}
int[,,] buttons = new int[4,5,3];
int[][,,][,] numbers;
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"};
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"} };
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} };
1.1定义一维数组
int a[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。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
1.1定义一维数组
int a[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。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
int a[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。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
该定义表示一个整型数组,共有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。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
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。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
可以用下面几种方式进行初始化。
①在定义数组时分别对数组元素赋初值。
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。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
①在定义数组时分别对数组元素赋初值。
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。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
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。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
②只给一部分元素赋值。
int a[3]={0,1};
这表示只给前面两个元素赋初值,后面的元素值默认为0。
③在对全部数组元素赋初值时,可以不指定数组长度。
int a[3]={0,1,2};
可以写成
int a[]={0,1,2};
在第二种写法中,花括号中有3个元素,系统就会据此自动定义a数组的长度为3。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
int a[3]={0,1};
这表示只给前面两个元素赋初值,后面的元素值默认为0。
③在对全部数组元素赋初值时,可以不指定数组长度。
int a[3]={0,1,2};
可以写成
int a[]={0,1,2};
在第二种写法中,花括号中有3个元素,系统就会据此自动定义a数组的长度为3。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
这表示只给前面两个元素赋初值,后面的元素值默认为0。
③在对全部数组元素赋初值时,可以不指定数组长度。
int a[3]={0,1,2};
可以写成
int a[]={0,1,2};
在第二种写法中,花括号中有3个元素,系统就会据此自动定义a数组的长度为3。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
③在对全部数组元素赋初值时,可以不指定数组长度。
int a[3]={0,1,2};
可以写成
int a[]={0,1,2};
在第二种写法中,花括号中有3个元素,系统就会据此自动定义a数组的长度为3。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
int a[3]={0,1,2};
可以写成
int a[]={0,1,2};
在第二种写法中,花括号中有3个元素,系统就会据此自动定义a数组的长度为3。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
可以写成
int a[]={0,1,2};
在第二种写法中,花括号中有3个元素,系统就会据此自动定义a数组的长度为3。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
int a[]={0,1,2};
在第二种写法中,花括号中有3个元素,系统就会据此自动定义a数组的长度为3。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
在第二种写法中,花括号中有3个元素,系统就会据此自动定义a数组的长度为3。但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
2.二维数组的定义与初始化
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
2.1定义二维数组
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
int a[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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
改定义表示一个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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
|---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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
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++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
|--a[2] :a[2][0],a[2][1],a[2][2],a[2][3]
C++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
C++中,二维数组种元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,在存放第二行元素,依次往下。
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
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
可以用下面几种方式进行初始化。
①分行给二维数组赋初值。
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
①分行给二维数组赋初值。
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
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
②将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。
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
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
③只对部分元素赋初值。
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
④如果对全部元素赋初值,则定义数组时对第一维长度可以不指定,但第二维长度必须指定。
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
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
可以写成
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
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
在定义时也可以对部分元素赋初值而省略第一维的长度,但应分行赋初值。
int a[][4]={{0,0,1},{},{0,9}};
0 0 1 0
0 0 0 0
0 9 0 0
int a[][4]={{0,0,1},{},{0,9}};
0 0 1 0
0 0 0 0
0 9 0 0
0 0 1 0
0 0 0 0
0 9 0 0
0 0 0 0
0 9 0 0
0 9 0 0
int[] a;
二维数组
int[][] a=new int[2][];
1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;
(2)C#
C# 数组从零开始建立索引,即数组索引从零开始。C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似。但还有一些差异应引起注意。
声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面。在 C# 中,将方括号放在标识符后是不合法的语法。
int[] table; // not int table[];
另一细节是,数组的大小不是其类型的一部分,而在 C 语言中它却是数组类型的一部分。这使您可以声明一个数组并向它分配 int 对象的任意数组,而不管数组长度如何。
int[] numbers; // declare numbers as an int array of any size
numbers = new int[10];
numbers = new int[20];
C# 支持一维数组、多维数组(矩形数组)和数组的数组(交错的数组)。下面的示例展示如何声明不同类型的数组:
一维数组:
多维数组:
数组的数组(交错的):
声明数组(如上所示)并不实际创建它们。在 C# 中,数组是对象(本教程稍后讨论),必须进行实例化。下面的示例展示如何创建数组:
一维数组:
多维数组:
数组的数组(交错的):
还可以有更大的数组。例如,可以有三维的矩形数组:
甚至可以将矩形数组和交错数组混合使用。例如,下面的代码声明了类型为 int 的二维数组的三维数组的一维数组。
C# 通过将初始值括在大括号 ({}) 内为在声明时初始化数组提供了简单而直接了当的方法。下面的示例展示初始化不同类型的数组的各种方法。
注意
可省略数组的大小,如下所示:
如果提供了初始值设定项,则还可以省略 new 运算符,如下所示:
可省略数组的大小,如下所示:
如果提供了初始值设定项,则还可以省略 new 运算符,如下所示:
可以像下例所示那样初始化交错的数组:
可省略第一个数组的大小,如下所示:
-或-
请注意,对于交错数组的元素没有初始化语法。
(3)C++
1.一维数组的定义与初始化