C语言day08-02二维数组-注意点

pragma mark 二维数组-注意点

pragma mark 概念

/**
 // 注意点:每个一维数组 的元素个数不能省略
 */

pragma mark 代码

#include <stdio.h>
int main()
{
    // 1.二维数组的多种初始化方式
    
    // 1.定义的同时初始化
    int names[2][3] =
    {
        {'l','y','h'},
        {'h','t','h'},
    };
    // 2.先定义再初始化
    int names2[2][3];
    names2[0][0] = 'l';
    names2[0][1] = 'y';
    names2[0][2] = 'h';
    
    names2[1][0] = 'h';
    names2[1][1] = 't';
    names2[1][2] = 'h';
    
    // 3. 完全初始化
    int names3[2][3] =
    {
        {'l','y','h'},
        {'h','t','h'},
    };
    
    // 4.不完全初始化
    int names4[2][3] =
    {
        {'y','h'},
    };
    
    // 5. 省略元素个数的两种写法
    // 明确的告诉二维数组,我们有2个一维数组
    char names5[2][3] =
    {
        'l','y','h',
        'h','t','h',
    };
    
    // 没有告诉二维数组我们有几个一维数组
    // 如果在"定义的同时"进行初始化,那么一维数组的个数可以省略\
    系统汇自动根据每一个 一维数组能够存放多少个元素,自动根据初始化的值推断出二维数组中一共有多少个元素(多少个一维数组)
    char names6[][3] =
    {
        'l','y','h',
        'h','t','h',
    };
    // 6. 错误写法
    // 注意点:每个一维数组 的元素个数不能省略
    /*
    int names7[2][] =
    {
        {'l','y','h'},
        {'h','t','h'},
    };
    */
    
    // 搞不清楚应该分配多大的存储空间,以及搞不清楚应该把那些数据赋值给第一个数组,以及那些数据赋值给第二个数组
    /*
    int names7[2][] =
    {
        'l','y','h',
        'h','t','h',
    };
     */
    return 0;
}


    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/4413ddee8ab7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞