zoukankan      html  css  js  c++  java
  • 数组的初始化

    //

    //  main.c

    //  数组的初始化

    //

    //  Created by micalafei on 15/8/18.

    //  Copyright (c) 2015年 micalafei. All rights reserved.

    //

    #include <stdio.h>

    int main(int argc, const char * argv[]) {

    //    需要保存100个学生的成绩

    //    格式:元素类型 数组名称[元素个数];

    //    数组初始化的方式:基本上跟函数,变量等差不多;

    //    1.先定义在初始化

    /*

        int score[100];

        score[0] = 99;

        score[1] = 98;

        score[2] = 97;

        score[3] = 96;

        score[4] = 95;

    //    ....

        printf("score[0] = %i ",score[0]);

        printf("score[1] = %i ",score[1]);

        printf("score[2] = %i ",score[2]);

     */

    //    2.完全初始化

        int score[2] = {12,13};

        printf("score[0] = %i ",score[0]);

        printf("score[1] = %i ",score[1]);

        

    //    3.部分初始化

    //    默认从0开始初始化, 依次赋值

    //    注意: 如果"在部分初始化中"对应的内存没有被初始化, 那么默认是0

        int scores1[3] = {11, 22};

        printf("scores1[0] = %i ", scores1[0]);

        printf("scores1[1] = %i ", scores1[1]);

        printf("scores1[2] = %i ", scores1[2]);

        

        printf("------- ");

        

    //    注意: 如果没有对数组进行初始化(完全和部分), 那么不要随便使用数组中的数据, 可能是一段垃圾数据(随机值)

        int scores2[3];

        printf("scores2[0] = %i ", scores2[0]);

        printf("scores2[1] = %i ", scores2[1]);

        printf("scores2[2] = %i ", scores2[2]);

        

        printf("------- ");

       

    //注意: 不建议使用变量定义数组, 如果使用了变量定义数组, 作为数组的元素个数, 不初始化的情况下是随机值, 如果初始化会直接报错

    //    int number = 3;

    //    int scores3[number] = {12,13};        //直接报错了;

    //    printf("------- ");

    //报错信息:

    ///Users/micalafei/Desktop/ios广州小码哥150810班级学习/0818(day07)/day07/数组的初始化/main.c:56:17: Variable-sized object may not be initialized

        

    //  4.没有定义元素个数的初始化:

    // 注意: 如果定义的同时进行初始化, 那么元素的个数可以省略

    // 省略之后, 初始化赋值几个数据, 那么数组的长度就是几. 也就是说数组将来就能存储几个数据

        int scores5[] = {1, 3};

        printf("0 = %i ", scores5[0]);

        printf("1 = %i ", scores5[1]);

        printf("------- ");

    //    注意; 如果定义数组时没有进行初始化, 那么不能省略元素个数

    //    int scores6[];

        //报错信息:

    ///Users/micalafei/Desktop/ios广州小码哥150810班级学习/0818(day07)/day07/数组的初始化/main.c:70:9: Definition of variable with array type needs an explicit size or an initializer

        

    //    5.建立索引

        int scores7[10] = {[3] = 10,[5] = 15};

        printf("scores7[3] = %i ",scores7[3]);

        printf("scores7[5] = %i ",scores7[5]);

    //    注意: 只能在定义的同时利用{}进行初始化, 如果是先定义那么就不能使用{}进行初始化

    //    如果先定义那么就不能再进行整体赋值, 只能单个赋值

        return 0;

    }

  • 相关阅读:
    文章分类
    多项式笔记(二)
    P7102 [w3R1] 算
    P3711 仓鼠的数学题
    常见特殊数的多项式求法
    P4091 [HEOI2016/TJOI2016]求和
    CF961G Partitions
    P4609 [FJOI2016]建筑师
    P5401 [CTS2019]珍珠
    P5162 WD与积木
  • 原文地址:https://www.cnblogs.com/micalafei/p/4740850.html
Copyright © 2011-2022 走看看