二维数组
二维数组
-
和一维数组一样,二维数组也可以在定义的时候初始化。
-
二维数组在初始化的时候,需要按第一维数组的顺序依次给出第二维初始化情况,然后将它们用逗号隔开,并用大括号全部扩住。
-
在这些被赋初值的元素之外的部分将被赋值为0。
/*二维数组的初始化*/ #include<stdio.h> int main(){ int a[5][6] = {{3, 1, 2}, {8, 4}, {}, {1, 2, 3, 4, 5}};//第三行使用大括号跳过,不写大括号是无法编译的 for(int i = 0; i < 5; i++){ for(int j = 0; j < 6; j++){ printf("%d", a[i][j]); } printf("\n"); } return 0; }
-
下面的应用用于将两个二维数组对应的元素相加,并将结果存入到另一个二维数组中:
#include<stdio.h> int main() { int a[3][3], b[3][3]; for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ scanf("%d", &a[i][j]);//输入二维数组a的元素 } } for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ scanf("%d", &b[i][j]); } } int c[3][3]; for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ c[i][j] = a[i][j] + b[i][j]; } } for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ printf("%d ", c[i][j]); } printf("\n"); } return 0; }
输入两个3X3矩阵: 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9
输出结果: 2 6 10 6 10 14 10 14 18
-
PS:如果数组大小较大,则应该定义在主函数外面,例如下面代码:
#include<stdui.h> int i[1000000] int main(){ for(int i = 0; i < 1000000; i++){ a[i] = i; } return 0; }
-
多维数组用法和二位数组一样