Java,C#,C++数组定义的区别

1 篇文章 0 订阅
1 篇文章 0 订阅

(1)Java

 一维数组

1)   int[] a;   //声明,没有初始化
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};   //错误,如果提供了数组初始化操作,则不能定义维表达式
5)   int[] a;  
     a=new int[5];    //正确,同(2)一样
      a={1,2,3,4,5};   //错误,数组常量只能在初始化操作中使用,如(3)
6)   int a[];
     a[0]=1;   //错误,因为数组没有初始化,不能赋值
     a[1]=2; 
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}};  //错误,如果提供了数组初始化操作,则不能定义维表达式
     a[0]={1,2,3,4,5};   //错误,数组常量只能在初始化操作中使用
6)   int[][] a=new int[2][];
     a[0][1]=1;   //错误,第二维没有初始化,不能赋值,java.lang.NullPointerException异常
总结: 1.二维就是数组的数组,里面的数组大小不要求一样
      2.不管一维还是二维,在使用前(赋值,访问)必须初始化,可以用new默认初始化,也可以用数组常量初始化
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++)
{
   scores[x] = new byte[4];
}
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 is a 10-element array

numbers = new int[20];  // now it's a 20-element array

 声明数组

C# 支持一维数组、多维数组(矩形数组)和数组的数组(交错的数组)。下面的示例展示如何声明不同类型的数组:

一维数组:

多维数组:

数组的数组(交错的):

声明数组(如上所示)并不实际创建它们。在 C# 中,数组是对象(本教程稍后讨论),必须进行实例化。下面的示例展示如何创建数组:

一维数组:

多维数组:

数组的数组(交错的):

还可以有更大的数组。例如,可以有三维的矩形数组:

甚至可以将矩形数组和交错数组混合使用。例如,下面的代码声明了类型为 int 的二维数组的三维数组的一维数组。

C# 通过将初始值括在大括号 ({}) 内为在声明时初始化数组提供了简单而直接了当的方法。下面的示例展示初始化不同类型的数组的各种方法。

注意   如果在声明时没有初始化数组,则数组成员将自动初始化为该数组类型的默认初始值。另外,如果将数组声明为某类型的字段,则当实例化该类型时它将被设置为默认值 null

 一维数组

可省略数组的大小,如下所示:

如果提供了初始值设定项,则还可以省略 new 运算符,如下所示:

可省略数组的大小,如下所示:

如果提供了初始值设定项,则还可以省略 new 运算符,如下所示:

可以像下例所示那样初始化交错的数组:

可省略第一个数组的大小,如下所示:

-或-

请注意,对于交错数组的元素没有初始化语法。

 

 

 

(3)C++

 

1.一维数组的定义与初始化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值