对二维数组的理解
概念:
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我们可以把上面的数组看作一个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;
}