数组的本质分析

Posted sugarwill666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的本质分析相关的知识,希望对你有一定的参考价值。

数组是相同类型的变量的有序集合

 

数组在一片连续的内存空间中存储元素

数组元素的个数可以显示或隐式指定

int a[5] = {1,2};

int b[] = {1,2};

 

数组名代表数组首元素的地址

数组的地址需要取地址符&才能得到

数组首元素的地址与数组的地址值相同

数组首元素的地址与数组的地址是两个不同的概念

 

数组名可以看作一个常量指针

数组名“指向”的是内存中数组首元素的起始位置

数组名不包含数组的长度信息

在表达式中数组名只能作为右值使用

只有在下列场合中数组名不能看做常量指针

  数组名作为sizeof操作符的参数

  数组名作为&运算符的参数

 

小结

数组是一片连续的内存空间

数组的地址和数组首元素的地址意义不同

数组名在大多数情况下被当成常量指针处理

数组名其实并不是指针,不能将其等同于指针

以上是关于数组的本质分析的主要内容,如果未能解决你的问题,请参考以下文章

数组本质分析

C 语言数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )

指针的本质分析

ArrayList源码分析

另类二分--透过枚举得到本质--搜索左边界

C 语言数组 ( 多维数组本质 | 步长角度 理解 多维数组本质 )