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;

    }

  • 相关阅读:
    vtk 矩阵管理系统
    在opengl中使用纹理
    [译文]:单元测试的七种境界
    [翻译]:六分钟八法则塑造优秀程序员
    weekly review 200921: Power Sleep
    Bye, Scofield
    weekly review 200922: Goal
    weekly review 200920: Prototype Demo
    转载:测试驱动开发三原则
    weekly review 200918: productive
  • 原文地址:https://www.cnblogs.com/micalafei/p/4740850.html
Copyright © 2011-2022 走看看