#include <iostream>
#include <Windows.h>
#include <stdio.h>
int main(void) {
int i;
int j;
//二维数组的定义
//和数组一样 需要先定义再使用
int a1[5]; //一行女兵
//实例:
int a2[3][3]; //三行女兵
//定义了一个二维数组
//数组名为a
//包含三行三列 一共9个元素
//每个元素是int 类型的变量
//二维数组的初始化
int a3[3][4]; //二维数组元素得值可能是随机的(全局变量会初始化为0,局部变量值随机)
//方式一 初始化指定每行的值
int a4[3][4] ={
{1, 2, 3, 4},
{5, 6, 7, 8},
{9,10,11,12},
};
//方式一 初始化指定每行的值
int a44[3][4] ={
{1,}, //省略掉的会默认置零
{5, 6},
{9,10,11},
};
//注: 最外围括号内部的每个括号相当于初始化一行,括号中可以省略(lue)某(mou)些元素的初始化
// 方式二 初始化从头开始 依次序进行
int a5[3][4] ={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int a6[3][4] ={0}; // 所有元素都初始化为0
int s7[3][4] ={1}; // 只初始化第一个,其他都默认置零
for(int i=0; i<3; ++i) {
for(int j=0; j<4; ++j) {
printf("%d ", a6[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}
```cpp
#include <iostream>
#include <Windows.h>
#include <stdio.h>
int main(void) {
int i;
int j;
int a1[][4] ={ //越简单越好 不要太难理解 等于a1[3][4] 编译器会默认自己读取
{1, 2, 3, 4},
{5, 6, 7, 8},
{9,10,11,12},
};
int a2[][4] ={1, 2, 3}; //等于 a1[1][4]
for(int i=0; i<3; ++i) {
for(int j=0; j<4; ++j) {
printf("%d ", a1[i][j]);
//printf("%d ", a2[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}