5.1.4 数组元素的访问
定义数组的目的主要是使用数组元素。那如何访问数组中的元素呢?很简单,使用数组名加下标就可以了,即访问数组元素的格式为:
数组名[下标值]
中括号与下标值构成了数组的下标。下标值必须是一个整数,它可以是常量、变量,甚至是一个表达式或函数调用语句。
需再次强调的是,数组元素的下标是从 0 开始的,即数组中的第一个元素对应的下标值为 0。若我们要访问数组 a 中的第 2 个元素,需使用“a[1]”。
通过下标,可以像使用普通变量一样来使用数组元素,所以也将数组中的元素称为下标变量。例如,可以使用下标来获取数组元素的值,或是给数组元素赋新值,甚至对其进行自增、自减运算:
配合循环结构语句,可以非常方便地遍历数组的所有元素。
【 例 5-1 】编写程序,由用户输入 5 个整数,保存到数组中,并按逆序方式打印数组所有元素。
首先定义一个长度为 5 的 int 类型数组,接着在循环内使用 scanf 函数获取用户输入的整数,并按照下标值从小到大的顺序保存至数组中,最后再次通过循环,按照下标值从大到小的方式,逆序打印输出数组元素的值,具体代码如下:
主函数中,首先定义了 int 类型的变量 i 与长度为 5 的数组 a,接着在第一个 for 循环语句中,i 采用自增的方式,0~4 时执行循环体,5 时结束循环,并将 i 作为下标值访问数组元素,为其赋新值。我们可以将数组元素看成是变量,而将“a[i]”看成是下标为 i 的数组元素的变量名,所以在 scanf 函数中,仍然需要在 a[i]的前面加上“&”符号。最后,在第二个 for 循环语句中,i 采用自减的方式,4~0 时执行循环体,–1 时结束循环,并将 i 作为下标值访问数组元素,通过 printf 函数打印输出。程序的实际运行结果如下:
Please enter 5 integers: 10 20 30 40 50 Print array elements in reverse order: 50 40 30 20 10
需要注意的是,在使用数组下标时,不要越界访问,以免访问到数组之外的内存区域。我们应控制下标值在合理区间范围内,既不应小于 0,也不应大于等于数组元素的个数。C 的编译器并不会对数组的越界访问进行检查,这项工作得由编程人员自己做,所以一定要睁大眼睛、时刻小心。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论