美文网首页
5.C语言-数组

5.C语言-数组

作者: 后备干部 | 来源:发表于2016-12-26 07:33 被阅读0次

    1. 初始化需要注意的地方:

    1. C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。例如,下面这样定义数组是不行的:
    int n;
    scanf("%d″,&n);  /*在程序中临时输入数组的大小 */        
    int a[n];
    
    1. float a[0]; /* 数组大小为0没有意义 */
    2. int k, a[k]; /* 不能用变量说明数组大小*/
    3. 数组初始化赋值是指在数组定义时给数组元素赋予初值。数组初始化是在编译阶段进行的。这样将减少运行时间,提高效率。
    4. 可以只给一部分元素赋值。例如:
      int a[10]= {0,1,2,3,4};
      定义a数组有10个元素,但花括弧内只提供5个初值,这表示只给前面5个元素赋初值,后5个元素值为0。
    5. 如果想使一个数组中全部元素值为0,
      可以写成
      int a[10]={0,0,0,0,0,0,0,0,0,0};

      int a[10]={0};
    6. 如果想使一个数组中全部元素值为0,
      可以写成
      int a[10]={0,0,0,0,0,0,0,0,0,0};

      int a[10]={0};
      注意: int a[10] = {2}; 全部元素为{2, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    7. 在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。
      例如: int a[5]= {1,2,3,4,5};
      也可以写成: int a[ ]= {1,2,3,4,5};

    2. 二维数组

    2.1 定义

    QQ20161227-0.png

    2.2 初始化

     我们有4种方法对二维数组初始化:
    
    (1)直接分行给二维数组赋初值(强烈推荐)
        int a[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
    (2)可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值
        int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
    (3)可以对部分元素赋初值
        int a[3][4] = {{1}, {5}, {9}};
    也可以对各行中的某一元素赋初值
        int a[3][4] = {{1}, {0, 6}, {0, 0, 11}};
    其实也可以只对某几行元素赋初值
        int a[3][4] = {{1}, {5, 6}};
    (4)如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省
        int a[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
    在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值
        int a[][4] = {{0, 0, 3}, {}, {0, 10}};
    

    相关文章

      网友评论

          本文标题:5.C语言-数组

          本文链接:https://www.haomeiwen.com/subject/wgjxvttx.html