黑马程序员技术交流社区

标题: 二维数组的全部初始化和部分初始化的几种常用方式 [打印本页]

作者: xuezhangjun    时间: 2016-11-15 19:20
标题: 二维数组的全部初始化和部分初始化的几种常用方式
#include <stdio.h>

int main()
{
    //方式一:先声明,再用下标来初始化
    int arr[2][3];
    arr[0][0] = 10;
    arr[0][1] = 20;
    arr[0][2] = 30;
    arr[1][0] = 40;
    arr[1][1] = 50;
    arr[1][2] = 60;
    for(int i = 0; i < 2; i++)
    {
        for(int j = 0; j < 3; j++)
        {
            printf("%d ", arr[j]);
        }
    }
    printf("\n");
//    printf("%d", arr[0][0]);
    //方式二:在声明的同时,就初始化每一个元素
    int arr2[3][4] = {
        {100,200,300,400},//系统可根据大括弧的个数自动计算行数
        {500,600,700,800},
        {900,1000,1100,1200}
    };
    for(int i = 0; i < 3; i++)
    {
        for(int j = 0; j < 4; j++)
        {
            printf("%d ", arr2[j]);
        }
    }
    printf("\n");
    //方式三:可以省略行数,编译器根据列数和数据的个数自动计算行数
    int arr3[2][3] = {1,2,3,4,5,6};
    for(int i = 0; i < 2; i++)
    {
        for(int j = 0; j < 3; j++)
        {
            printf("%d ", arr3[j]);
        }
    }
    printf("\n");
    //部分初始化方式,初始化部分数据,其他元素则就会被自动初始化为0.
    int arr4[2][3] = {10,20,30};
    for(int i = 0; i < 2; i++)
    {
        for(int j = 0; j < 3; j++)
        {
            printf("%d ", arr4[j]);
        }
    }
    printf("\n");

  

    return 0;
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2