一维数组1

发布时间:2024年01月20日

1.数组的概念

数组是?组相同类型元素的集合;从这个概念中我们就可以发现2个有价值的信息:
1.数组中存放的是1个或者多个数据,但是数组元素个数不能为0。
2.数组中存放的多个数据,类型是相同的。
数组分为?维数组和多维数组,多维数组?般?较多?的是?维数组。

2.数组的创建

首先我们了解数组的基本组成:类型 数组名[元素个数]=元素。

首先我们来创建一个int类型的数组。

int arr[4]={1,2,3,4};这样我们就创建了一个数组,它的元素类型为int,数组名为arr,有四个元素,分别为1,2,3,4。

3.数组的初始化

在数组的创建的同时可一个其一些元素,称其为数组的初始化,但是数组初始化和变量初始化有一些区别,数组在初始化时分为完全初始化不完全初始化。

完全初始化:就是初始化时将数组填满,如上面我们创建的int arr[4]={1,2,3,4};这个数组在创建时我们给了4个元素,刚刚好填满整个数组。

不完全初始化:与之相对的,就是在初始化时不填满数组,有个问题那我们不填满数组,那没有赋值的元素会是啥呢?我们用int arr[4]={1};来看看不赋值的元素会是什么。

我们可以用F10运行后,点开监视查看arr的元素组成,在上图中我们可知没有赋值的元素是会自动?用0将其填满。

如果是char类型的数组也会被填满吗?我们试一下。

在上述图中我们看到没赋值的元素是用\0填满,这个\0的Ascll码值是0;就和上面那个a一样Ascll码值是97,\0其实是每个字符串后隐藏的\0在这是终止符。当我们初始化上面这个char类型的数组时,其实就只能填入三个字符,因为有一个元素是\0,如果强行输入,编译器会报错。但是这个\0是隐藏在字符串后的,如果我们初始化时用单字符就可以输入四个元素了,就不会有隐藏的\0.

演示如下:

这样就可以填入四个字符了,其实我们可以不用写[]里面的数字,可以这样理解:编译器会自动识别你填了几个元素,?在[]里面填入相应的值,但是是不会显示出来的。

就像这样,书写也是对的,这样写其实有个好处,可以避免填不下的情况发生。

4. 数组的类型

在数组创建时我们可以按需要创建不同大小、不同类型的数组。

?char、short、int、float等类型,数组类型其实就是去掉名字剩下就是类型;例如int arr[4];它的类型就是int [4];char arr[4];的类型就为char[4]。

5.一维数组的使用

在上述我们创建的数组中都是一维数组,那我们怎用查找数组中的元素呢?

在C语?中数组的访问提供了?个操作符 [] ,这个操作符叫:下标引?操作符

有了这个操作符我们就可以找到想要找的元素,在这之前我们还需要学习一个知识———数组下标 。

在我们创建的数组中,每个元素都有一个编号,从第一个开始往后都是相加1的编号,第一个为0的编号,当我们想要查找第一个元素时就需要arr[0];即可。

这样我们就可以找到第一个元素,并将其打印在屏幕上。

结果为:

?那我们怎么将全部的元素打印出来,当然我们可以使用上述操作一个一个打印,但是如果元素过于多那上述操作就会非常麻烦,所以我们需要使用前面学的循环来解决这个问题。

演示如下:

结果为:

?

?这样我们就能将所有的元素答应出来,这时又有一个问题,如果没给我说有多少个元素怎么办呢?这个时候我们就需要使用sizeof操作符。那要怎么使用呢?

演示如下:

在这个代码中sizeof(arr)是计算整个数组的大小,sizeof(arr[0])是计算一个元素的大小,相除刚好就是元素的个数了。

那结果对不对呢?

还是这个结果,所以说这样的书写书没有问题的。

6.一维数组的再次赋值?

当第一次给数组初始化后,想改变元素的值,要怎么做呢?

演示如下:

在上述代码中我们利用循环将输入的每个数放在对应的元素中,在利用循环将其打印出来。

例如:输入1234

谢谢

?

?

文章来源:https://blog.csdn.net/c23856/article/details/135693270
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。