6.2 要点2:了解作为数据结构基础的数组
在实际应用的程序中经常需要处理大量的数据,比如那种用于统计1000名职员的工资之类的程序。在这类程序中存储数据时使用的是“数组”,而不是定义1000个变量。通过使用数组,既可以同时定义出多个变量,又可以提高编写程序的效率。在上一节的例子中,分别定义了a,b,c三个变量,其实可以换一种定义变量的方法,那就是只定义一个含有3个元素(包含3个数据)的数组。在用C语言编写的程序中,是通过指定数组名和数组所包含的元素个数来定义数组以供使用的(如代码清单6.3所示)
代码清单6.3 使用含有3个元素的数组
char x[3]; /*定义数组*/
x[0]=123; /*把数据存入数组的第0个元素中*/
x[1]=124; /*把数据存入数组的第1个元素中*/
x[2]=125; /*把数据存入数组的第2个元素中*/
数组实际上是为了存储多个数据而在内存上集中分配出的一块内存空间,并且为这块空间整体赋予了一个名字。在代码清单6.3中,通过定义数组,操作系统就分配出了一块用于存储3个数据所需的内存空间,并将这块空间整体命名为x。可以通过在[和]之间指定序号(索引)的方式分别访问数组内的各块内存空间
本例通过char x[3]这条语句就分配出了数组整体所需的内存空间,其中每个元素的内存空间可通过x[0],x[1],x[2]的方式进行访问。虽然本质上还是定义了三个变量,但比起离散的变量,使用数组可以高效地编写也能够实现排序等算法 的程序,具体的例子将在稍后展示
数组是数据结构的基础,之所以这么说是因为数组反映了内存的物理结构本身。在内存中存储数据的空间是连续分布的。而在程序中,往往要从内存整体中分配一块连续的空间以供使用。如果用程序中的语句表示这种分配使用方式的话,就要用到数组(如图6.2所示)
图6.2 数组反映了内存物理结构本身
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论