C语言之二维数组

二维数组

           还是一个数组,只不过数组中得每一个元素又是一个数组

 

1). 声明语法

           类型 数组名[行][列];

 

  例:  int nums[2][3];//2行3列的二维数组,保存的数据类型是int类型

           char chs[3][5];//3行5列的二维数组,保存的数据类型是char类型

2). 初始化

A.在声明的时候初始化

  a.

               int nums[3][5] = { {10,32,34,43,45}, {5,45,23,45,34}, {19,2,34,23,35}}

  b.

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

  c.

                     省略行数(较少使用)

                     int nums[][3] = { {1,2,3} ,{4,5,6} };//编译器自动根据右边的数组来判断有多少行,这个判断出来是2行

                     int nums[][3] = { 1,2,3,4,5,6 };//这个有2行

                     int nuns[][2] = { 1,2,3,4,5};//这个有3行,只不过第三行的最后一个元素是0,第三行的第一个元素是5

 

           tips:C语言中二维数组无论如何定义的时候都不可以少了列

3). 取值语法

           数组名[行][列];

 

例: nums[1][3];//取第二行(下标为1的行)的第四列(下标为3的列)的数据;

 

4). 遍历二维数组

  A.普通数组

           for(int i=0;i<长度;i++){

 

    }

 

B.二维数组

           for(int i=0;i<行;i++){

           for(int j=0;j<列;j++){

           数组名[i][j];

    }

  }

 

5).二维数组的一些其他应用

  A 二维数组的某行某列的元素作为函数的参数

           是值传递:形参的值发生改变,不会影响到实参

  B 二维数组作为函数的参数

           引用传递:形参的值发生改变,会影响实参

  C 二维数组占用的总字节数计算方法:

           sizeof(二维数组名);

  D 二维数组行数的计算公式:

           二维数组占用的总字节数 / 二维数组中某一行的字节数 = 行数

          

           行数 = sizeof(二维数组名) / sizeof(二维数组名[0]);

  E 二维数组列数的计算公式:

           二维数组某行占用的字节数 / 二维数组中某个小空间占用的字节数 =列数

          

           列数 = sizeof(二维数组名[0]) / sizeof(类型);

 

6).二维数组和N维数组

       二维数组应用范围比较少,但是一般是用来绘制平面的

 

    具体应用:

                                画地图

 

  二维数组: 数组中得每个元素又是一个数组

 

  三维数组: 数组中得每个元素又是一个二维数组

                                int nums[3][2][3]; //三维数组

 

  四维数组: 数组中得每个元素又是一个三维数组

                                int nums[4][4][2][3];

 

  五维数组: 数组中得每个元素又是一个四维数组

 

  ……….

 

  N维数组: 数组中得每个每个元素又是一个N-1维数组

posted @ 2016-11-03 21:18  zero的小纸条  阅读(578)  评论(0编辑  收藏  举报