二维数组

二维数组

  • 和一维数组一样,二维数组也可以在定义的时候初始化。

  • 二维数组在初始化的时候,需要按第一维数组的顺序依次给出第二维初始化情况,然后将它们用逗号隔开,并用大括号全部扩住。

  • 在这些被赋初值的元素之外的部分将被赋值为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;
    } 
    

    img1

  • 下面的应用用于将两个二维数组对应的元素相加,并将结果存入到另一个二维数组中:

    #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;
    }
    
  • 多维数组用法和二位数组一样

posted @ 2021-03-11 10:27  shiff  阅读(187)  评论(0)    收藏  举报