C语言中数组存储机制及原理如何详细阐述?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2731个文字,预计阅读时间需要11分钟。
在程序设计中,为了便于程序处理,通常将具有相同类型的变量按有序的形式组织在一起。这些按序排列的同类型数据元素集合称为数组。其中,数组中的每个元素都直接对应于一个位置。
int a[5];
如图 1 所示,当定义一个数组a时,编译器根据指定的元素个数和元素的类型分配确定大小(元素类型大小×元素个数)的一块内存,并把这块内存的名字命名为 a,名字 a 一旦与这块内存匹配就不能再改变。其中,a[0]、a[1]、a[2]、a[3] 与 a[4] 都为 a 的元素,但并非元素的名字(数组的每一个元素都是没有名字的)。
图 1 int[5]的存储结构
在 32 位系统中,由于 int 类型的数据占 4 字节单元,因此该数组 a 在内存中共占据连续的 4×5=20 字节单元,依次保存 a[0]、a[1]、a[2]、a[3] 与 a[4] 共 5 个元素。
本文共计2731个文字,预计阅读时间需要11分钟。
在程序设计中,为了便于程序处理,通常将具有相同类型的变量按有序的形式组织在一起。这些按序排列的同类型数据元素集合称为数组。其中,数组中的每个元素都直接对应于一个位置。
int a[5];
如图 1 所示,当定义一个数组a时,编译器根据指定的元素个数和元素的类型分配确定大小(元素类型大小×元素个数)的一块内存,并把这块内存的名字命名为 a,名字 a 一旦与这块内存匹配就不能再改变。其中,a[0]、a[1]、a[2]、a[3] 与 a[4] 都为 a 的元素,但并非元素的名字(数组的每一个元素都是没有名字的)。
图 1 int[5]的存储结构
在 32 位系统中,由于 int 类型的数据占 4 字节单元,因此该数组 a 在内存中共占据连续的 4×5=20 字节单元,依次保存 a[0]、a[1]、a[2]、a[3] 与 a[4] 共 5 个元素。

