zoukankan      html  css  js  c++  java
  • 数组

    1 一维数组

    1.1 一维数组的定义

    类型说明符 数组名[常量表达式]

    如:int a[20];

    表示数组名为a,此数组有10个元素。

    (1)数组名定名规则与变量名相同

    (2)数组名后是用方括号括起来的常量表达式,不能用圆括弧

    (3)常量表达式表示元素的个数,即数组长度,如a[10],10表示a数组有10个元素下标从0开始最后一个元素下载为9

    (4)常量表达式中可以包括常量和符号常量,不能包含变量

    1.2 一维数组元素的引用

    数组必须先定义后使用,C语言规定只能逐个引用数组元素,不能一次引用整个数组。

    如:数组名[下标]

    还可以下面这样

    a[0] = a[5] + a[7] + a[3 * 2]

    1.3 一维数组的初始化

    (1)在定义数组时对数组元素赋以初值

    如: int a[10] = {1,2,3,4,5,6,7,8,9};

    (2)也可以只给一部分元素赋值

    如:int a[10] = {0,1,2,3,4};

    定义a数组有10个元素,但花括号内只提供5个初值,这表示只给前面5个元素赋初值,后5个元素的值为0。

    (3)如果想使一个数组中的全部元素值为0可以写成

    如:int a[10] = {0,0,0,0,0,0,0,0,0,0};

    不能写成 int a[10] = {0 * 10};

    (4)在对全部数组元素赋初值时,可以不指定数组长度

    如:int a[5] = {1,2,3,4,5};

    可以写成

    int a[] = {1,2,3,4,5};

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

    2 二维数组

    2.1 二维数组的定义

    类型说明符 数组名[常量表达式][常量表达式];

    如:int a[3][4], b[5][10];

    2.2 二维数组的引用

    数组名[下标][下标]

    b[1][2] = a[2][3] / 2;

    2.3 二维数组的初始化

    (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}};

    它的作用是只对各行的第1列的元素赋值,其余元素自动为0,赋初值后数组各元素为

    1 0 0 0

    5 0 0 0

    9 0 0 0

    也可以

    int a[3][4] = {{1},{0,6},{0,0,11}};

    赋初值后

    1 0 0 0

    0 6 0 0

    0 0 11 0

    还有

    int a[3][4] = {{1},{5,6}};

    1 0 0 0

    5 6 0 0

    0 0 0 0

    int a[3][4] = {{1},{},{9}};

    1 0 0 0

    0 0 0 0

    9 0 0 0

    (4)如果对全部元素都赋初值则定义数组时,对第一维的彻底可以不指定,但第二维的长度不能省。

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

    与下面的定义等价

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

    系统会根据数据总个数分配存储空间,一共12个数据,第行4列,当然可以确定3行,在定义时也可以只对部分元素赋初值而省略第一维的彻底,但应分行赋初值。

    如:int a[][4] = {{0,0,3},{],{0,10}};

    0 0 3 0

    0 0 0 0

    0 10 0 0

  • 相关阅读:
    读《大道至简》第七、八章有感
    跨域AJAX
    简单的变长数组
    约瑟夫环问题
    BZOJ 1050: [HAOI2006]旅行comf
    BZOJ 1061: [Noi2008]志愿者招募
    BZOJ 1016: [JSOI2008]最小生成树计数
    20155326刘美岑 2016-2017-2 《Java程序设计》第5周学习总结
    6月13日云栖精选夜读:数梦工场完成A轮7.5亿融资 三个维度构建“新型互联网”
    Java使用POI实现数据导出excel报表
  • 原文地址:https://www.cnblogs.com/qkhhxkj/p/2089282.html
Copyright © 2011-2022 走看看