1 二维数组的定义和使用
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。
int a[3][4];
- 命名规则同一维数组
- 定义了一个三行四列的数组,数组名为a其元素类型为整型,该数组的元素个数为3×4个,即:
二维数组a是按行进行存放的,先存放a[0]行,再存放a[1]行、a[2]行,并且每行有四个元素,也是依次存放的
- 二维数组在概念上是二维的:其下标在两个方向上变化,对其访问一般需要两个下标。
- 在内存中并不存在二维数组,二维数组实际的硬件存储器是连续编址的,也就是说内存中只有一维数组,即放完一行之后顺次放入第二行,和一维数组存放方式是一样的。
#include <stdio.h>
int main()
{
// 定义一个二维数组,名字叫a
// 由3个一维数组组成,这个一维数组是int[4]
// 这3个一维数组的数组名分别为a[0],a[1],a[2]
int a[3][4];
a[0][0] = 0;
a[2][3] = 12;
// 给数组每个元素赋值
int i = 0;
int j = 0;
int num = 0;
for(i=0; j < 4; i++)
{
for(j = 0; j < 4; j++)
{
a[i][j] = num++;
}
}
// 遍历数组,并输出每个成员的值
for(i = 0; i < 3; i++)
{
for(j = 0; j < 4; j++)
{
printf("%d", a[i][j]);
}
printf("\n")