一、数组的a+1和&a+1的区别

先看看测试代码:

1 int data[10]={};
2 printf(" sizeof(data) = %d.\n", sizeof(data));
3
4 printf(" data         = %p.\n", data);
5 printf(" &data        = %p.\n", &data);
6 printf(" (data+1)     = %p.\n", (data+1));
7 printf(" ((&data)+1)  = %p.\n", ((&data)+1)); // data+1*sizeof(data)

运行结果:

分析:

  (1)可以看出a的值等价于&a。

  (2)a+1表示指向数组中下一个数据地址处;&a+1表示加上整个数组的大小,已经超出了数组的范围。

  (3)&a+1这种用法是有一定危险的,建议一般情况下不要使用。

  (4)实际中有可能不会使用,但是在这里分析是为了加深对数组的内存分布的理解。

转载于:https://www.cnblogs.com/zou107/p/4958902.html

C语言笔记(数组地址一些细节)相关推荐

  1. go语言笔记——数组长度不可变,但是元素值是可变的!!!

    数组声明的格式是: var identifier [len]type 例如: var arr1 [5]int 在内存中的结构是: 对索引项为 i 的数组元素赋值可以这么操作:arr[i] = valu ...

  2. c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...

    在LED行业中,一般一个灯亮或者不亮用一个bit位来表示(这里就不谈七彩或者灰度控制卡),假如我们屏幕大小是128点,相当于宽度16个字节,如果我们让两个汉字居中显示(两个汉字占宽度4个字节),很容易 ...

  3. c语言中void arrout,c语言学习笔记(数组、函数

    <c语言学习笔记(数组.函数>由会员分享,可在线阅读,更多相关<c语言学习笔记(数组.函数(53页珍藏版)>请在人人文库网上搜索. 1.数组2010-3-29 22:40一维数 ...

  4. c++ 数组置0_鸣小亮C语言笔记(5)——数组

    Hi,技术菌团里刚学数组的小伙伴们,你们数组的基础知识掌握的怎么样呢,本期的数组语言笔记能不能帮到你们呢?数组是一组有序数据的集合.数组中每一个元素都属于同一个数据类型,且不能把不同类型的数据放在同一 ...

  5. 8086怎么输出数组_鸣小亮C语言笔记(5)——数组

    Hi,技术菌团里刚学数组的小伙伴们,你们数组的基础知识掌握的怎么样呢,本期的数组语言笔记能不能帮到你们呢?数组是一组有序数据的集合.数组中每一个元素都属于同一个数据类型,且不能把不同类型的数据放在同一 ...

  6. 【C 语言】数据类型本质 ( 数据类型 | 数据类型本质 | 数组地址 | 数组首元素地址 )

    文章目录 一.数据类型 二.数据类型本质 ( 数组地址 | 数组首元素地址 ) 一.数据类型 " 数据类型 " 是 数据的抽象 ; 相同类型的数据 , 表示形式相同 , 存储格式相 ...

  7. 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析

    . Android源码看的鸭梨大啊, 补一下C语言基础 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/detai ...

  8. c语言二维数组表示坐标,c语言多维数组地址的表示方法

    c语言多维数组地址的表示方法 导语:我们知道数组名就是指针常量.下面让我们了解一下多维数组的地址表现方法. 设有整型二维数组a[3][4]如下: 0 1 2 3 4 5 6 7 8 9 10 11 设 ...

  9. C语言 内存分配 地址 指针 数组 参数 解析

    指针简介 : 指针式保存变量地址的变量; -- 增加阅读难度 : 指针 和 goto 语句会增加程序的理解难度, 容易出现错误; -- ANSI C : American National Stand ...

最新文章

  1. 人工智能如何推动神经科技发展?
  2. CentOS LAMP一键安装网站环境及添加域名
  3. 《Groovy语言规范》-语法(三)
  4. 有线同步--ASP007
  5. 自定义控件之-----progressBar
  6. 线程中这么调用类_这些线程知识总结是真的到位!java开发两年的我看的目瞪口呆
  7. 如何线程安全地遍历List:Vector、CopyOnWriteArrayList
  8. HTTPS原理和CA证书申请
  9. 线性代数三之状压DP的矩阵加速——Quad Tiling,Bus公交线路
  10. py-kms使用方法
  11. vim nerdtree 标签_学业支持 | OS课程——给你的vim换套新衣服
  12. 用VBA实现OUTLOOK接收新邮件后的自动转发
  13. 估计算法类有哪些最新发表的毕业论文呢?
  14. 华人运通高合HiPhiX维修手册电路图技术培训用户手册资料
  15. 机器人示教器国产终端,功能图解
  16. 08系统装iss_安全信息系统| ISS | 第1部分
  17. Android Camera2 Opengles2.0 实时滤镜(冷暖色/放大镜/模糊/美颜)
  18. 1217: 青蛙(二)
  19. 十六进制字符串与byte数组与ASCII码互相转换
  20. 【STM32】STM32之SWD

热门文章

  1. 前端学到什么水平就可以去找工作呢?
  2. ECC椭圆密码算法c语言实现,深入浅出椭圆加密算法ECC
  3. python 获取excel文本框_简单使用python做excel多文件批量搜索(带图形界面)(已更新)...
  4. linux18.04忘记账号密码,Ubuntu18.04忘记超级用户root密码,重新设置密码
  5. 查看指定进程io状态的iotop命令
  6. SpringMVC系列(十六)Spring MVC与Struts2的对比
  7. mysql 数据库的维护,优化
  8. OracleXE安装完成后 http://127.0.0.1:8080/apex 总是在刷新无法打开
  9. Linux集群和自动化维1.3 如何根据服务器应用选购服务器
  10. pacific-atlantic-water-flow(不错)