一位数组:数组、字符数组、字符串
二维数组:
定义:大数组里面包含多个小数组(一维数组的嵌套)
公式:数据类型
数组名 [大数组里面小数组的个数 (行)] [小数组里的元素个数(列) ] = {{ 小数组元素,小数组元素},{ 小数组元素,小数组元素} ,…...};
例如:
用一个大数组 表示出 一个学生 三个学期全部的成绩
三个学期:
语文成绩15,45,0
数学成绩99,68,5
定义了一个全部分数 数组
1、分析题目有《两门成绩》 (大数组里面有几个小数组《行》)
2、每门成绩 又有《三个学期的成绩》 (小数组里面有多少元素《列》)
3、得出:int scores[2][3]
4、花括号表示 数组
5、经过《1、》的分析 知道 大数组里面有两个小数组
6、得到
int scores[2][3]={
{},小数组
{}=
};
7、经过《2、》的分析 知道 小数组里面有三个元素
8、得到:
int
scores[2][3]={
//定义了一个全部分数数组
{15,45,0},//小数组的个数
目前有两门成绩
有两行
{99,68,5}//小数组的元素个数 三学期的成绩 有三个元素
{99,68,5}//小数组的元素个数 三学期的成绩 有三个元素
};
遍历多维数组:
for循环的层数是按照[2][3][6][3]表示数组范围的顺序去写for循环的层次
循环次数 是每一层的 元素个数决定
如:
循环次数 是每一层的 元素个数决定
如:
for (int
h=0; h<2; h++) {
for
(int
l =
0; l<3; l++) {
}
}
for
(int
h=0; h<2;
h++) {
printf("第%d门\n",h);
for (int l=0; l<3; l++) {
printf("第%d学期 %d分\n",l+1,scores[h][l]);
}
printf("第%d门\n",h);
for (int l=0; l<3; l++) {
printf("第%d学期 %d分\n",l+1,scores[h][l]);
}
}
多维数组:
int
list[2][3][4]={
{
{1,2,3,4},
{2,2,3,4},
{3,2,3,4}
},
{
{4,2,3,4},
{5,2,3,4},
{6,2,3,4}
}
};
for (int h=0; h<2; h++) {
for (int i=0; i<3; i++) {
for (int j=0; j<4; j++) {
printf("%d\t",list[h][i][j]);
}printf("\n");
}printf("\n\n");
{1,2,3,4},
{2,2,3,4},
{3,2,3,4}
},
{
{4,2,3,4},
{5,2,3,4},
{6,2,3,4}
}
};
for (int h=0; h<2; h++) {
for (int i=0; i<3; i++) {
for (int j=0; j<4; j++) {
printf("%d\t",list[h][i][j]);
}printf("\n");
}printf("\n\n");
}