数组就相当于矩阵,几行几列之类的,里面分别存放了什么数据。
简单的写明一下数组的数学原型
比如一个3行3列的数组,行和列是可以自己定义的
1 2 3 | 7 8 9 5 …………………………
4 5 6 | 5 7 8 2 …………………………
7 8 9 | 1 8 2 7 ………………………
| 4 7 2 5 …………………………
在c语言中他有自己的定义格式
一维数组:
int array[5]; 注意这个有前缀int,这是定义array数组,它有5个空间,每个元素对应一个下标
下标是从0开始的,顺序是从左往右,依次递增。
array[5]; 这个没有前缀,说明这只是一个数组加上它的下标,他是用来寻找在array这个数组中下标为5的元素的。
在定义时里面的空间时可以用define N 个数 自己定义的,但一定要在开头定义
二维数组:
int array[2][3] 这个意思就是有两行三列的数组
当输入元素时是要对每一行的每一个元素进行输入值,可见这个是一行有3个元素
下面是简单的用二维数组输入元素,并用数组名进行传值。
#include<stdio.h>
#define N 4
#define n 3
void create_array(int array[n][N])
{
for(int i = 0;i < n;i++) 依次对每一行的每一个元素进行输入值
{
for(int k = 0;k < N;k++)
{
printf("输入%d行%d列的元素:\n",i+1,k+1);
scanf("%d",&array[i][k]);
}
}
}
int main()
{
int array[n][N];
create_array(array); 用数组名传值
for(int i = 0;i < n;i++)
{
for(int k = 0;k < N;k++)
{
printf("%3d",array[i][k]); 依次输出元素
}
}
return 0;
}
三维数组:
eg: int array[2][2][2]={{{1,2},{3,4}},{{5,6},{7,8}}}
能看得出来,先是把整个元素分成两个部分(这里的两个指的是第一个2)
然后在这两个部分里又分别分成了两个小部分(指的是第二个2)
最后一个二指的是在最小的单元里存在几个元素
总的来说就是这个元素变成了两大部分,这两大部分里又分别有两小部分,每个小部分分别都有两个元素。 这个是用c语言进行表述三位数组
如果用图形的话:
就相当于一个2*2*2的魔方
再多维的数组就是这样以此类推