二维数组的定义直接在一维数组的基础上增加一个维度,高维数组同理。
初始化时,直接赋值。比如使用嵌套循环,对每一个变量进行赋值。
调用时,一次只能使用到一个变量,所以还是需要用循环来操作。
#include <stdio.h>
#include <math.h>
/* 功能:二维数组定义初始化
时间:2024年10月
地点:贤者楼129
作者:LChen
*/
/* 数组定义:数据类型 数组名[一维大小][二维大小];
数组大小就是存储个数,必须是整型常量
数组访问:数组名[一维下标][二维下标]
数组下标从0开始
数组初始化:依次初始化,或局部初始化
*/
int main() {
int i,j;
// 逐行初始化
int a1[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
// 不分行,用类似一维数组的方式初始化
int a2[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
// 全部赋值时,行数可以缺省,列数不能省
int a3[ ][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
// 部分赋值
int a4[4][3]={{1,2},{4,5},{7,8,9},{10,11,12}};
int a5[3][4]={1,0,6,0,0,11}; // 按照一维数组方式从前往后
// 最简单的初始化
int a6[4][3]={0};
// 输出
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%2d ",a1[i][j]);
printf("\n");
}
printf("===============\n");
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%2d ",a2[i][j]);
printf("\n");
}
printf("===============\n");
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%2d ",a3[i][j]);
printf("\n");
}
printf("===============\n");
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%2d ",a4[i][j]);
printf("\n");
}
printf("===============\n");
for(i=0;i<3;i++){
for(j=0;j<4;j++)
printf("%2d ",a5[i][j]);
printf("\n");
}
printf("===============\n");
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%2d ",a6[i][j]);
printf("\n");
}
printf("===============\n");
return 0;
}