zoukankan      html  css  js  c++  java
  • 一维数组初始化(初学者)

    给数组赋值的方法除了用赋值语句对数组元素逐个赋值外,还可采用初始化赋值和动态赋值的方法。

    数组初始化赋值是指在数组定义时给数组元素赋初值。数组初始化是编译阶段进行的。这样将减少运行时间,提高效率。

    注:之前用到的赋值语句或输入语句给数组赋值是在运行时完成的。

    一般形式为:类型说明符 数组名[常量表达式]={值、值……值}

    例:int a[8]={0,1,2,3,4,5,6,7};

    (1)所赋初值放在等号后的一对花括号中,数值类型必须与所说明的类型的一致,所赋初值之间用逗号隔开,系统将按这些数值的排列顺序,从a[0]元素开始依次给a数组中的元素赋值。以上语句将给a[0]赋初值0,给a[1]赋初值1……,给a[7]赋初值7。在指定初值中,第一个初值必定赋给下标为0的元素,因此,不可能跳过前面的元素给后面的元素赋初值。

    (2)当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。

    例:给a数组中所有元素赋初值0

    int a[10]={0};

    (3)对于字符型数组也同样补以初值0,即''。

    例:char c[5]={'@'};

    相当于:

    char c[5]={'@','','','',''};

    (4)当所赋初值多于所定义数组的元素个数时,在编译时将给出出错信息。

    (5)在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。

    例:int a[5]={1,2,3,4,5};也可改为 int a[]={1,2,3,4,5};

    在第二种写法中,花括弧中有五个数,系统就会据此自动定义a数组的长度为5。但若数组长度与提供初值的个数不相同,则数组长度不能省略。

    数组初始化与未初始化比较:

    #include<stdio.h>
    
    void main()
    {
        int i,a[5]={3,4,5},b[5];
        printf("
     array a is:");
        for(i=0;i<5;i++)
        {
            printf("%d",a[i]);
        }
        printf("
     array b is:");
        for(i=0;i<5;i++)
        {
            printf("%d",b[i]);
        }
    }

    动态赋值的方法:(程序演示,文字就不打了)

    #include<stdio.h>
    
    void main()
    {
        int i,max,a[10];
        printf("input 10 numbers;
    ");
        for(i=0;i<10;i++)
        {
            scanf("%d",&a[i]);
        }
        max=a[0];
        for(i=1;i<10;i++)
        {
            if(a[i]>max)
            {
                max=a[i];
            }
        }
        printf("maxmum=%d
    ",max);
    }

    注:与数组大小的动态定义进行区分,数组大小不允许动态定义。

  • 相关阅读:
    使用Springsecurity3.0 框架
    Spring3.0.2 使用全Annotation 与 Hessian 兼容配置
    Python Study PyCharm License
    Spring3.0.2 使用 Annotation 与 @Transactional 冲突问题解决方案
    「JOI 2014 Final」裁剪线
    CF700E Cool Slogans
    「JOISC 2014 Day4」两个人的星座
    ABC231H(二分图最小权边覆盖)
    JOISC 2017
    博弈论 初步
  • 原文地址:https://www.cnblogs.com/lvfengkun/p/10296623.html
Copyright © 2011-2022 走看看