赞
踩
本章的学习内容如下:
四、C语言中的数组:数组的创建与初始化
四、C语言中的数组:数组的输入与元素个数
C语言—第6次作业—十道代码题掌握一维数组
四、C语言中的数组:二维数组
我们可以利用矩阵的知识来理解,将一个数组等同于一个向量,例如定义三个向量为arr1={1,2,3},arr2={4,5,6},arr3={7,8,9}, 将一维向量组合成一个矩阵A即为二维向量,再将不同的二维向量组合在一起,即为多维向量。我们可以将其分别理解为一维数组,二维数组,多维数组。
A
=
{
1
2
3
4
5
6
7
8
9
}
A=\left\{
#include<stdio.h>
int main()
{
int arr[3][4];//定义了一个3行4列的整型数组
//基本形式为 数组类型 数组名字[行数][每行元素个数即列数]
return 0;
}
二维数组的初始化也分为不完全初始化,和完全初始化,不完全初始化就是提供了不完全的二维数组的元素,全部初始化为0 ,或者部分初始化,剩下元素为0。完全初始化则是提供了此二维数组所有的元素。
#include<stdio.h>
int main()
{
int arr[3][4] = {0};//不完全初始化
int arr[3][4] = {1,2};//不完全初始化
int arr[3][4] = {1,2,3,4,5,6,7,8,9,1,2,3};//完全初始化
return 0;
}
int arr[3][4] = {1,2,3,4,5,6,7,8,9,1,2,3}//完全初始化且里面没有大括号时,真实的二维数组的排列是一行一行来的
a
r
r
=
{
1
2
3
4
5
6
7
8
9
1
2
3
}
arr=\left\{
例如 int arr[3][4]={{1},{1},{1}}
,行数一定要完整。即
a
r
r
=
{
1
0
1
0
1
0
}
arr=\left\{
int arr1[][4] = {1,2}
int arr2[][5] = {1,2,3,4,5,6,7,8,9}
a
r
r
1
=
{
1
2
0
0
0
0
0
0
.
.
.
.
.
.
.
.
.
.
.
.
}
arr1=\left\{
a
r
r
2
=
{
1
2
3
4
5
6
7
8
9
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
}
arr2=\left\{
在之前的一维数组的学习中我们了解到了数组的下标是从0开始的二维数组也一样,只不过行和列都是从0开始。
int arr[3][4] = {1,2,3,4,5,6,7,8,9,1,2,3},数组的存储如下表所示:
0 | 1 | 2 | 3 | |
---|---|---|---|---|
0 | 1 | 2 | 3 | 4 |
1 | 5 | 6 | 7 | 8 |
2 | 9 | 1 | 2 | 3 |
定位数组中的元素:使用下标,比如arr[0][0]=1,arr[1][2]=7等等。
#include <stdio.h>
int main()
{
int arr[3][4] = { 1,2,3,4,5,6,7,8,9,1,2,3 };
printf("%d\n", arr[1][2]);
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。