数组的本质

简介: 数组的本质

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

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

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

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

int a[5] = { 0 };
    printf("a = %p\n", a);
    printf("&a = %p\n", &a);
    printf("&a[0] = %p\n", &a[0]);//结果都是一样的

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

 

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

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

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

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

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

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

相关文章
|
6天前
|
机器学习/深度学习 NoSQL 容器
递归的本质与基本实现形式
递归的本质与基本实现形式
|
6天前
|
JSON JavaScript 前端开发
揭秘类数组对象:形似数组,超越数组!(下)
揭秘类数组对象:形似数组,超越数组!(下)
|
6天前
|
JavaScript 前端开发 索引
揭秘类数组对象:形似数组,超越数组!(上)
揭秘类数组对象:形似数组,超越数组!(上)
|
6天前
|
存储 Java 程序员
Java数组全套深入探究——基础知识阶段3、数组下标操作
Java数组全套深入探究——基础知识阶段3、数组下标操作
31 0
|
6天前
|
算法 Java 程序员
Java数组全套深入探究——基础知识阶段4、数组的遍历
Java数组全套深入探究——基础知识阶段4、数组的遍历
42 0
|
6天前
|
存储 传感器 机器学习/深度学习
Java数组全套深入探究——进阶知识阶段6、三维数组以及更多维度数组的概念和用法
Java数组全套深入探究——进阶知识阶段6、三维数组以及更多维度数组的概念和用法
53 0
|
6月前
|
人工智能 编译器 测试技术
一次性搞清数组指针、指针数组---从多维数组的本质上刨析(让你顿悟版)
一次性搞清数组指针、指针数组---从多维数组的本质上刨析(让你顿悟版)
16 0
|
8月前
|
搜索推荐 编译器 C++
C++基础:第5~6章:数组\函数
C++基础:第5~6章:数组\函数
38 0
|
10月前
|
存储 C#
C#视频—浅谈数组与集合的差别
C#视频—浅谈数组与集合的差别
|
10月前
|
C#
C#基础Ⅵ❷-数组
C#基础Ⅵ❷-数组