📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

对二维数组的理解

创建时间2018-01-15最后修改2018-06-19原位置/程序员成长之旅/C语言/笔记/字数643图片/附件4
目录:程序员成长之旅/C语言/笔记

概念:

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

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

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

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

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

演示:

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

多维数组的定义格式是:

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

例如:

🖼 图片占位(归档模式)图片见原始导出:%E5%AF%B9%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E7%9A%84%E7%90%86%E8%A7%A3.assets/0.5160470536851867.png
这样定义了一个名称为num数据类型为int二维数组。其中第一个[3]表示第一维下标的长度,就像购物时分类存放的购物;第二个[3]表示第二维下标的长度,就像每个购物袋中的元素。

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

🖼 图片占位(归档模式)图片见原始导出:%E5%AF%B9%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E7%9A%84%E7%90%86%E8%A7%A3.assets/0.04810604278100694.png

#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;

}