小伙伴们大家好,今天和自己对抗了自己的懒惰,最后还是拿起旁边的书去学习新的知识,观看文章的小伙伴们,我们常有懒惰,但是我们要对抗它,希望和大家一起进步,一起努力,话不多说,开始数组的篇章。
一、一维数组
如果在编写程序中,要求你存放成百上千的数据,这个时候你应该怎么做呢?
答案就在标题:数组
1 . 引入数组
我们先来了解一下一维数组,以一道简单的输出为例。
【eg】要求存放0-100个数字
输出结果:
a[0]=1
a[1]=2
a[2]=3
......//一百组数据太多,我就不一一展示了
a[99]=100代码如下:
#include <stdio.h> int main() { int a[100]; int i = 0, j = 0; for (i = 0; i < 100; i++) { a[i] = j + 1; j++; printf("a[%d] = %d\n", i, a[i]); } return 0; }
这里大家要注意 int a [ 100 ]; 这里你给数组初始定义的是范围, [ ] 内部数字表示你要存放多少东西,这里是存放100个数字
PS:如果你不确定到准确数字,那么也可以给你要存放的范围大一点,多一些空间也是没问题的
但是,可能有小伙伴问,为什么数字 i 是从 0 开始的,这个是因为数组的存放是默认从 0 开始的
如下图,方便大家理解:
这幅图片就展示了为什么 i 从 0 开始。
2 . 数组存放类型
这里大家注意,数组不仅仅可以存放 int 类型,还可以是 double 类型,char 类型
格式为:
int a[];
char a[];
double a[];
这里有小伙伴看到 [ ] 里面什么都没有,这里只是给大家展示,如果这样写会报错的,里面必须有范围
3 . 初始化数组
-
初始化全部元素
int a[3] = {4, 5, 6} // a[0] = 1, a[1] = 2, a[2] = 3
-
初始化部分元素
int a[3] = {88 , 100}; //a[0] = 88, a[1] = 100, a[2] = 0(未被定义则为0)
4.数组的一些基本运用
-
变量名 = 数组名称 [ 数字 ] ————意思为你要访问第几个元素(注意数组是从0开始储存)
int b = {22, 33, 44};
int a = b[1]; //这里的a就是访问第一个元素,为33
-
数组名称 [ ] = 数字; ————意思为你要给一个元素进行赋值,达到修改数组元素的目的
int b = {22, 33, 44};
b[1] = 88; //这里的意思是把88赋值给第一个元素33
//之后这里的 b = {22, 88, 44};
-
计算数组长度
int a[3] = {2, 55, 78};
int len = sizeof(a) / sizeof (a[0]); //用整个数组除以一个元素的数组,这里答案为3
二、二维数组
其实和一维数组相差不大,只不过二维数组有了很多行,一维数组只有一行
【eg】展示一个4 * 3 的数组
int a[4][3] = {{3, 4, 0}, {1, 2, 7}, {2}, {3, 2} }
这里用一张图片方便大家理解:
用法和一维数组一样,一定注意第一行第一列的数组为 a[ 0 ] [ 0 ]
注意:大家要是不熟悉可以自己尝试输入数组,并且输出每一个数组,多动手练习才能有所突破
今天分享就到这里啦,后续会找一些数组题去跟大家讲,积累是一个过程,我们只要还在路上就不晚