美文网首页重拾c语言
C语言专题-数组

C语言专题-数组

作者: edison0428 | 来源:发表于2017-05-18 15:25 被阅读3次

    1.为什么需要数组:
    a:为n个变量连续分配储存空间
    b:所有的变量数据类型都必须一样
    一维数组

    例子:int a[5];
    初始化:
      完全初始化:int a[5]={1,2,3,4,5};
      不完全初始化: int a[5]={1,2,3};如果这样那么a[0]=1 a[1]=2 a[2]=3 ,没有初始化的a[3] a[4]就为0;
      不初始化:int a [5];  那么所有的值都是垃圾值
      清零初始化:int a[5]={0}; 所有值都为0
    

    错误写法

    错误一:只有在定义数组的同时才能整体赋值,其他情况下整体赋值都是错误的
    int a[5];
    a[5]={1,2,3,4,5};//此时a[5]表示下表对应的元素
    错误二:
    int a[5]={1,2,3,4,5};
    a[5]=100;//数组越界
    错误三:
    int a[5]={1,2,3,4,5};
    int b[5];
    如果想要把a数组中的值全部复制给b数组
    错误写法:
    b=a//error a和b代表的是数组名,是第一个元素的地址
    正确的写法
    用for循环一个个赋值
    

    二维数组
    int a[3][4]:总共是12个元素,可以当作3行四列看待,12个元素一次可以看成:a[0][0],a[0][1],a[0][2],a[0][3].,a[1][0]..a[1][3],a[2][0],a[2][3]
    那么 a[i][j]表示i+1行 j+1列的元素

    初始化:
    int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
    int a[]3[4]={
        {1,2,3,4},
        {5,6,7,8},
        {9,10,11,12},
    }
    

    多维数组:
    是否存在多维数组:
    不存在,因为内存是线性一维的
    也就是说n维数组可以当作每个元素是n-1为数组的一维数组

    相关文章

      网友评论

        本文标题:C语言专题-数组

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