对二维数组的理解

程序员成长之旅 · 程序员成长之旅/C语言/笔记 · 643 字

概念:

1、数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n] = {{值1,..,值n},{值1,..,值n},...,{值1,..,值n}};

2、数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n]; 数组名称[下标1][下标2]...[下标n] = 值;

多维数组初始化要注意以下事项:

1、采用第一种始化时数组声明必须指定列的维数。因为系统会根据数组中元素的总个数来分配空间,当知道元素总个数以及列的维数后,会直接计算出行的维数

2、采用第二种初始化时数组声明必须同时指定行和列的维数。

演示:

多维数组就好比去超市买东西,用购物袋把所买商品分类存放,然后将所有的购物袋放到一个大的购物袋中,这样就形成了一个多维数组了。

多维数组的定义格式是:

数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n];

例如:这样定义了一个名称为num数据类型为int二维数组。其中第一个[3]表示第一维下标的长度,就像购物时分类存放的购物;第二个[3]表示第二维下标的长度,就像每个购物袋中的元素。

我们可以把上面的数组看作一个3×3的矩阵,如下图:

#include<stdio.h>

int main()

{                            //值得注意的是 定义和输出使用时[][]的意义不太一样

//假设定义一个变量 a[5][5]

//定义是 就是 共有5行  每行 有 5个数据

//假设输出 a[4][4]

//输出时 就是 输出 第5行 的 第 5个数据

int a[5][5]={{1,2,3,4,5},//定义为 如果int a[5][1] 就是第一个[5]为一共有5行 第二个[1]就是每行能存1个实数据

{5,4,3,2,1}};

printf("%d",a[1][1]);//注意 在使用过程中 是从a[0][0]开始存取数据的 然后a[0][1] a[0][2] a[0][3] a[0][4] 直到次此行存满然后a[1][0] a[1][1] a[1][2] a[1][3] a[1][4]

return 0;

}