主要说的就是数组名,数组地址,数组首地址的区别
首先三者输出相同
- int a[5]={1,2,3,4,5};
- cout<0]<
- cout<<&a<
- //这三个的值是一样的
但是三者含义是不同的
一个普通变量的值和地址值是不一样的,但是数组是一样的
1.
这是数组名和指针不同的第一点:
数组名取地址得到的是数组名所指元素的地址。
对指针取地址得到的是指针变量自身的地址。
2.
数组是固定大小的,一经定义不能更改,数组名其实就是指向数组首元素的常量指针
指针是可以更改的,是变量指针
3.
对数组名进行sizeof时,得到的是这个数组的大小
对指针进行sizeof时,根据编译环境差别分别为4或8位(为指针类型的字节大小)
4.
对数组名取&和对指针取&的意义不同
对数组名取&后+1,是加上整个数组的大小
对指针取&+1,是加上指针所指元素的大小
另外加一个小知识,指针的访问效率是远远大于数组的访问效率的,所以遍历最好指针进行遍历啦
-
相关阅读:
Sublime Text 下载及配置
陈志泊主编《数据库原理及应用教程第4版微课版》的实验题目参考答案实验4
2022.8.30 OpenCV 课程作业
Java 类之 java.lang.System
Matebook13右侧USB-C/Type-C接口无法识别
RocketMq快速入门(详解)
openpose脚部标注问题梳理
记一个带批注、表头样式的导入导出excel方法(基于easyexcel)
OceanBase杨传辉传递亚运火炬:国产数据库为“智能亚运”提供稳稳支持
聚观早报 | TCL召开电视新品发布会;OceanBase 4.3发布
-
原文地址:https://blog.csdn.net/weixin_60630451/article/details/126693704