Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注+收藏,欢迎欢迎~~
💥个人主页:小羊在奋斗
💥所属专栏:C语言
本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为同样是初学者的学友展示一些我的学习过程及心得。文笔、排版拙劣,望见谅。
一、一维数组的创建和初始化
1.什么是数组?
2.数组的创建
3.数组的初始化
二、一维数组的使用
1.数组下标
2.数组元素的打印
3.数组元素的输入
三、一维数组在内存中的存储
四、sizeof 计算数组元素个数
一、一维数组的创建和初始化
1.什么是数组?
数组是由一组具有相同类型的数据按照一定的规则组成的集合。其中的每个数据都称为数组元素,数组元素在内存中顺序排列,用数组名代表这一组数据。
2.数组的创建
type arr_name[常量值];
数组在创建的时候可以指定数组的大小和数组的元素类型。
数组长度只能为大于0的整型常量或整型常量表达式,不能包含变量。例如:
int n = 6;
int a = [n];
int b[-10];
float c[3.14];
上面三个示例都是不合法的。
但是,如果想方便地修改数组的大小,可以使用符号常量,例如:
#define n 6
int a[n];
上面的用法在这篇文章中有简单介绍 —> C语言基础
type 指定的是数组中存放数据的类型,可以是:char 、short、int 和 float 等,也可以是自定义类型。arr_name 指的是数组的名字。例如:
int a[10];
定义了一个一维整形数组,数组名为 a ,其中包含10个数组元素。
3.数组的初始化
有时候,数组在创建的时候,我们需要给定一些初始值,这就叫数组的初始化。
我们对定义的数组 b 进行了不完全初始化,其中未赋值的元素自动取0值。
再看数组 c ,中括号中可以不写入数值,不指定数组的长度,数组长度默认为花括号内值的个数。
二、一维数组的使用
本篇我们先介绍一些简单的用法,更多用法请观看下篇文章 —> 一维数组的应用
1.数组下标
数组的下标从0开始,假设数组有 n 个元素,则最后一个元素的下标是 n - 1,下标就相当于数组元素的编号。例如:
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
在C语言中数组的访问提供了一个操作符 [ ] ,这个操作符叫:下标引用操作符。
有了下标引用操作符,我们就可以轻松访问到数组元素了,比如我们访问下标为3和下标为7的元素:
事实上,数组元素和下标是下面这样对应的:
2.数组元素的打印
我们也可以将上面定义的数组里的元素全部打印出来:
3.数组元素的输入
同样的,我们也可以给数组随便输入10个值:
有一个细节需要注意,用 scanf 函数时,参数%d后面不要加空格。具体原因还请阅读这篇文章 —> scanf 函数没这么简单
三、一维数组在内存中的存储
数组名就是数组内首元素的地址。
上述打印出的地址是16进制的。
可以看到,相邻两个数组元素之间地址相差4个字节,为什么是4呢?因为我们定义的数组是int 类型的,一个 int 类型的值占4个字节。所以我们可以得出一个结论:数组元素在内存中是连续存储的。并且,随着下标的增长,地址是由小(低)到大(高)变化的。这就为后期我们使用指正访问数组奠定了基础。
四、sizeof 计算数组元素个数
sizeof 关键字在之前的文章中介绍过 —> C语言(数据和变量)
在遍历数组的时候,我们经常需要知道数组元素的个数,那我们就可以使用 sizeof 来实现。
sizeof 是C语言中的一个关键字,是可以计算类型或者变量大小的,其实 sizeof 也可以计算数组的大小。
其原理为,sizeof (arr)计算的是数组所占内存空间的总大小,单位是字节,sizeof (arr[0])计算的是数组中下标为0的一个元素所占内存空间的大小,用总的除以一个就得到了数组元素的个数。
点击跳转主页—> 💥个人主页:小羊在奋斗