代码:

int main()

{
int a[10]={1,2,3,4,5,6,7,8,9,10};

cout<<a<<"\t"<<&a<<endl;
cout<<a+1<<"\t"<<&a+1<<endl;
return 0;

}

结果:

我们知道数组名与数组名取地址所得到的地址都是一样的,由第一行的输出可以验证这一结论。那么如果都在这基础上加上指针运算呢,一开始我也觉得结果是相同的,但事实是让我懵逼的。由第二行输出可以知道a+1后指针指向的是组的第二个元素,而&a+1后指针指向的是整个数组内存空间的末尾。这是为什么呢?这到底是a的心灵的扭曲还是&a道德的沦丧?

言归正传。。

由于数组和指针的关系,a相当于一个指针,指向的是第一个元素,也就是传说中数组的首地址。此时这个指针的步长是数组元素类型所占的字节数,在此为4B。而&a这货代表的不是a这个变量的地址,而是数组元素的地址,它代表整个数组!!所以&a这个指针的步长是整个数组所占的字节数!!也就是说a的类型是int[10],&a的类型是int(*)[10],是个指向int[10]数组的指针,&a[0]的类型是int*。

数组名与数组名前加取地址符相关推荐

  1. 对字符数组输入输出数组名是否加取地址符的一些理解

    字符数组名的两个含义: 定义了字符型数组char name[10].name有两个含义: 一个是代表着name这个数组第一个位置的地址,也就是name[0]的地址.可以说name就等价于&na ...

  2. 数组名加取地址符的理解

    --------------------------------------------- -- 时间:2019-04-15 -- 创建人:Ruo_Xiao -- 邮箱:xclsoftware@163 ...

  3. C语言中 指针变量 取地址符的用法 *指针变量名的用法

    文章目录 总结 Intro Code 图示 总结 众所周知,内存可以看成一个一个相邻的格子(类比Excel),而数据就存储于这些格子之中(size大的变量占用格子数多,size小就占用小).而每个格子 ...

  4. 【重温经典C语言】~c语言中%x、%c、%d、%x等等等、c语言取地址符的作用、C语言中的 联合体

    本章目录: 1. c语言中%x.%c.%d.%x等等等 2. c语言取地址符&的作用 3. 了解 C语言中的 联合体 3.1 什么是联合体? 3.2 定义 3.2.1 举例 3.3 初始化联合 ...

  5. 变量与指针、取值符与取地址符

    变量与指针.取值符与取地址符 一.基础知识 二.实例 其他 by HPC_ZY 也是偶然,在一个项目中需要多次交换二维数组中的值,逐个操作确实耗时,就想能不能利用指针操作快速交换.成功后写此文,记录分 ...

  6. 取地址符和解引用符的区别_(&)和解引用(*)运算符的地址以及C中的指针...

    取地址符和解引用符的区别 Here, we are discussing about the two most useful operators with the pointers, why and ...

  7. c语言函数变量地址符,C语言中取地址符做函数形参?—— 引用的讨论

    取地址符&做函数形参? C语言强大且危险 引入 这个问题花去了整整一天的研究. 先看一段严蔚敏的<数据结构>中栈的例程: 这里面的&S第一遍看的时候想当然的认为是取了SqS ...

  8. C语言加取址符的作用,C语言中指针和取地址符的关系

    一 概念定义: 严格说起来,应该这么讲:指针存的是地址,而&运算符是取变量的地址. 指针原理: 其实计算机中的内存就像一个个抽屉(一兆内存就相当于1百万个抽屉),每个抽屉都有一个编号,用于存放 ...

  9. C++ 中的:“引用” 和“取地址符”的区别和作用

    引用 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样. &作为引用的时候,必须在定义时候就进行初始化,若不进行初始化则会编译报错. int N; int &r ...

  10. c语言地址符作用,C语言中指针和取地址符的关系

    一 概念定义: 严格说起来,应该这么讲:指针存的是地址,而&运算符是取变量的地址. 指针原理: 其实计算机中的内存就像一个个抽屉(一兆内存就相当于1百万个抽屉),每个抽屉都有一个编号,用于存放 ...

最新文章

  1. 基于尺寸划分的RGB显著物体检测方法
  2. go 1.4支持Android的说明(译文)
  3. 转载 mysql 数据库优化配置实例
  4. C# Socket与实现
  5. python用pil图像放大缩小_python使用PIL缩放网络图片并保存的方法
  6. C指针原理(38)-C快速入门
  7. Design Patterns之Adapter Pattern总结
  8. 精美jQuery插件及源码 前端开发福利
  9. ftl不存在为真_科学网—世界上第一个真正的超光速实验 - 张操的博文
  10. 中科院分区和JCR分区查询
  11. 蚂蚁课堂视频笔记+笔记对应源码+思维导图下载地址
  12. (BISM)FTP搜索引擎BLOG开通了,专门交流搜索引擎技术
  13. 微信公众号图片转pdf
  14. java最简单的打印日历表_java实现打印日历
  15. win10的当前桌面壁纸保存位置
  16. MOSFET的半桥驱动电路设计要领详解
  17. 写作技巧~100段作文排比句(61-80段),考试一定用得上,赶紧收藏!
  18. PropertyBeanUtils.copyProperties(dest, orig)
  19. PLSQL12.0.7的下载、安装及使用教程
  20. 线性代数笔记3.2向量间的线性关系(二)

热门文章

  1. html5给文字添加拼音,word怎么为文字添加拼音
  2. python常用数学符号_ML-常用数学符号(示例代码)
  3. Iterator中的 FailFast FailSafe【学习笔记】
  4. 计算机的开机自检由什么程序完成,开机自检,教您怎么取消电脑上的开机自检...
  5. 人工智能迅猛发展,如何应对避免失业?
  6. 他25岁进贝尔实验室,32岁提信息论,40岁办达特茅斯会议,晚年患上阿兹海默 | 人物志...
  7. U盘插入电脑识别不出来,如何解决?
  8. git里面的文件怎么删不掉_彻底删除git中没用的大文件
  9. 低代码开发平台+KM知识文档管理系统搭配的好处
  10. 圆形时间html,html5 canvas实现圆形时钟代码分享