A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© L503254118 中级黑马   /  2015-10-16 07:51  /  1018 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


C语言支持多维数组,最常见的是二维数组,主要用于表示二维表和矩阵。
1、定义
二维数组稍微定义形式为:
类型名    数组名[行长度][列长度];
例如;
        int a[2][2];  //定义了一个二维数组a,共2行2列,4个元素。

2、引用
引用二维数组的元素要指定元素的两个下标,即行下标和列下标,即;
数组名[行下标][列下标]
行下标和列下标的合理取值范围为[0,长度-1],注意下标不要越界。
二维数组的元素在内存中按行优先方式存放,即先放第0行的元素,接着再放第一行的元素......其中每一行的元素再按照列的顺序存放。
由于二维表的行(列)下标是从0开始的,而矩阵或二维表的行(列)是从1开始的,用二维表表示二维表和矩阵时,就存在着行列计数不一致的情况。为解决这个问题,可以吧矩阵或二维表的行列也看成从0开始的。

3、初始化
分行赋值的一般形式为:
类型名    数组名[行长度][列长度]={{初值表0},..,{初值表k}...};
把初值表K中的数据依次赋给第K行的元素。例如;
      int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
顺序赋值的一般形式为;
类型名    数组名[行长度][列长度]={初值表};
根据数组元素在内存中的存放顺序,把初值表中的数据依次赋给元素。例如;
    Int a[2][2]={1,2,,3,4};
其等价于
    int a[2][2]={{1,2},{3,4}}
如果只对部分元素赋值,要注意初始表中数据的书写顺序。例如:
     static int b[3][3]={1,2,3,0,0,0,4,5};
等价于
    static int b[3][3]={{1,2,3},{},{4,5}};
由此可见,分行赋值的方法直观清晰,不易出错,是二维数组最常使用的方法。

4、使用二维数组编程
定义一个3*2的二维数组a,数组元素的值由下式给出,按矩阵的形式输出a。
a[i][j]=i+j.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马