admin管理员组

文章数量:1794759

C语言(一维数组)

一、一维数组的创建和初始化

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的一个元素所占内存空间的大小,用总的除以一个就得到了数组元素的个数。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-04-18,如有侵权请联系 cloudcommunity@tencent 删除数组变量基础内存数据

本文标签: C语言(一维数组)