C 二维数组


  二维数组——二维数组的定义跟一维数组是一样的,而有所不同的只是二维数组多了一对"中括号"和"常量表达式"。

 

     1、接下来,我们首先看看"二维数组"的定义格式:

 

   类型关键字  数组名[常量表达式][常量表达式];

 

   例子:int a[3][3];    float b[3][5];   char c[8][4];

 

   通过上面的例子,我们可以知道,二维数组的定义跟一维数组是一样的,而有所不同的只是二维数组多了一对"中括号"和"常量表达式。

 

     同时,二维数组中的第一个"中括号"里面的"常量表达式"代表着二维数组中有多少行,而第二个"中括号"里面的"常量表达式"代表着二维数组中有多少列。

 

     而二维数组的大小,是使用"行的总数"乘以"列的总数"。

 

 

  2、当了解完"二维数组"的定义以后,我们再看看如何在定义时给二维数组赋上初值。

 

    对二维数组所有的元素都进行赋值的操作:

    方式1: int a[2][3] = { {1,2,3} , {4,5,6} };

 

   通过方式1,我们可以看到第1个大括号内的数据赋给第1行中的3个元素,而第2个大括号内的数据赋给第2行中的3个元素。而这种方式,是按行来赋初值。

   结果如下:

      a[0][0] =1   a[0][1] =2   a[0][2] =3

      a[1][0] =4   a[1][1] =5   a[1][2] =6

 

 

    对二维数组所有的元素都进行赋值的操作:

    方式2: int a[2][3]={1,2,3,4,5,6};

 

  通过方式2,我们可以看到,是把所有的数据写在一个大括号内,就是按数组排列的顺序对每个元素赋初值,跟一维数组类拟。同时,它的存放顺序是按行来存放的。

  结果如下:

      a[0][0] =1   a[0][1] =2   a[0][2] =3

      a[1][0] =4   a[1][1] =5   a[1][2] =6

 

 

    对二维数组部分的元素都进行赋值的操作:

    方式3: int a[2][3]={{1},{4}};

 

    方式3:对部分元素进行赋初值,在这里,它是对各行的第1列赋初值,其余元素自动为0。

   结果如下:

      a[0][0] =1   a[0][1] =0   a[0][2] =0

      a[1][0] =4   a[1][1] =0   a[1][2] =0

 

    对二维数组部分的元素都进行赋值的操作:   

    方式4:int a[2][3]={{1},{0,0,5}};

 

    方式4:也是对部分元素进行赋初值,在这里,它是对各第1行第1列以及第2行第3列进行了赋初值。

但是由于,在第2行中第3列的前面还有第1列与第2列的元素,所以,即使不对它们赋值也要写上0。

   结果如下:

      a[0][0] =1   a[0][1] =0   a[0][2] =0

      a[1][0] =0   a[1][1] =0   a[1][2] =5

 

     

    对二维数组中某行的元素都不进行赋值的操作:

    方式5:int a[3][3]={{1},{},{8}};

 

    方式5:对第一行第1列赋值为1,第二行整行不赋值,第三行第1列赋值为8。

   结果如下:

      a[0][0] =1   a[0][1] =0   a[0][2] =0

      a[1][0] =0   a[1][1] =0   a[1][2] =0

      a[2][0] =0   a[2][1] =0   a[2][2] =8

 

     方式6:int a[3][3]={{1},{8}};

 

     方式6:对第一行第1列赋值为1,第二行第1列赋值为8,第三行整行不赋值。

   结果如下:

      a[0][0] =1   a[0][1] =0   a[0][2] =0

      a[1][0] =8   a[1][1] =0   a[1][2] =0

      a[2][0] =0   a[2][1] =0   a[2][2] =0

 

 

    把二维数组定义时,行的总数量忽略:

    方式7:int a[ ][2]={1,2,3,4};

 

    方式7:定义时可省略总行数定义,由系统跟据元素的总个数再根据列数,来求得总行数为2,因为,初值有4个,所以,就是4除以2等于2行。

   结果如下:

      a[0][0] =1   a[0][1] =2  

      a[1][0] =3   a[1][1] =4  

 

 

    把二维数组定义时,行的总数量忽略:

    方式8:int a[ ][4]={{0,0,1},{},{0,8}};

 

    方式8:告诉系统有3行,因为,里面有3个大括号。

   结果如下:

      a[0][0] =0   a[0][1] =0   a[0][2] =1   a[0][3] =0

      a[1][0] =0   a[1][1] =0   a[1][2] =0   a[1][3] =0

      a[2][0] =0   a[2][1] =8   a[2][2] =0    a[2][3] =0

 

   另外,二维数组定义时,总列数的定义不能省略

 

 

 

  3、当我们学习完二维数组的"定义"与"赋初值"以后,我们再来学习,如何引用二维数组中的"元素"。

 

    二维数组元素的引用——就是通过一个"数组名" ,加上2对"中括号",以及2个"下标"来说明要引用哪一个元素。即通过行号与列号就可以确定二维数中的元素,同时,行号或列号的下标都是从0开始。

 

      例子:

      int a[2][3]={{1,2,3},{4,5,6}};

      a[1][0];

 

      例子分析:

      在例子中,第1个"下标"是"1",表示要引用第2行,而第2个"下标"是"0",表示要引用第1列,所以,就确定了第2行第1列的元素,就是4。

 

 

 

  虽然,上面的二维看起来有点复杂,但是,大家不用担心,只要先做到记住二维数组的格式与各种赋值方式,然后,多练习几次,再重复结合其它的知识点一起训练,再训练,自然就可以从最初的记住,到熟练,然后,再到灵活运用了。

 

 

   

  非常好,现在,我们已经掌握了C中的“二维数组”,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用“二维数组”去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

      不要停留在理论规则上面,快动起来吧!

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练