C语言基础-二维数组13

来源:互联网 发布:俄罗斯运营商网络制式 编辑:程序博客网 时间:2024/06/05 22:38

1.二维数组的本质

     二维数组的本质其实就是一个元素是一维数组的一位数组。

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

    元素初始化:

   1). 全部初始化.  

        a. 先声明,再使用下标来初始化.

 

        b. 在声明的同时,就初始化数组的每一个元素. *****

             int arr[3][4] =

             {

                 {10,20,30,40},//0行的数据

                 {50,60,70,80},//1行的数据

                 {90,100,110,120}//2行的数据.

             };

            里面的大括弧,就表示1.

 

            10 20 30 40

            50 60 70 80

            90 100 110 120

 

        c. 上面这种方式初始化的时候.可以省略行数. ********

             int arr[][4] =

             {

                 {10,20,30,40},//0行的数据

                 {50,60,70,80},//1行的数据

                 {90,100,110,120}//2行的数据.

             };

             根据大括弧的个数,编译器来自动确定行数.

 

    

        d. 直接省略里面的大括弧.编译器根据行数和列数自动判断哪些属于哪1行的.

           int arr[3][4] = {10,20,30,40,50,60,70,80,90,100,110,120};

 

 

        e. 上面的那种初始化方式 可以省略行数.编译器根据列数和数据的个数自动计算行数.

           int arr[][4] = {10,20,30,40,50,60,70,80,90,100,110,120};

 

    

    2). 部分初始化.

 

        a.  int arr[3][4] = {{10},{20},{30}};

            初始化指定行的数据. 那么其他的元素就会被自动初始化为0.

 

            10 0 0 0 

            20 0 0 0 

            30 0 0 0

 

        b.  int arr[3][4] = {10,20,30,40,50}; *****

            按照顺序去初始化每1个元素其他的元素的值就会被自动初始化为0

            10 20 30 40 

            50 0  0  0 

            0  0  0  0

 

        c.  int arr[][4] = {10,20,30,40,50};

            省略行数,自动根据后面的元素的个数来计算行.

            其他的元素自动初始化为

            10 20 30 40 

            50 0  0  0

 

        d. int arr[3][4] = {[1]={10,20,30,40},[2]={50,60,70,80}};

           给指定的行初始化,其他的元素自动初始化为0

           0 0 0 0 

           10 20 30 40 

           50 60 70 80

 

        e. int arr[3][4] = {[0][1] = 20, [1][3] = 60};

            给指定的元素赋值.其他的元素自动初始化为0

            0 20 0 0 

            0 0  0 60

            0 0 0 0



2.二维数组的地址

   

    二维数组的低字节的地址就是这个二维数组的地址.

    也就是第0行的地址.也就是第0行的第0个元素的地址.

    二维数组名就代表 这个二维数组的地址.


    二维数组的地址==二维数组名==二维数组的第0行的地址==二维数组的第0行的第0个元素的地址 == 二维数组的低字节的地址.

二维数组的长度以及行列计算

    1).求二维数组的长度. 除以元素的个数.

        用二维数组占用的总的字节数除以 1个元素占用的字节数.

 

    2). 求行数

        二维数组的每1行占用的字节数是一样的.

        所以.用总的字节数除以 1行占用的字节数.就可以去到行数.

 

    3). 求列数.

        1行的总字节数除以 1个元素的字节数.

        求长度: 行数 * 列数.

注意.

 

    1).在声明二维数组的同时使用大括弧初始化数组的元素,这个时候行数可以省略.

        记住,列数不能省略.

 

    2).在声明二维数组的同时 如果不使用大括弧初始化元素 那么就必须要写行数和列数.


原创粉丝点击