这个问题的关键是理解 &a 

a是一个数组名,也就是数组的首地址。对a进行取地址运算符,得到的是一个指向数组的指针!!!!这句话尤为重要!也就相当于int (*p) [5] = &a;p是一个指针,它指向的是一个包含5个int元素的数组!!

那么执行p+1后,p的偏移量相当于 p + sizeof(int) * 5 !!

而程序中强制将指针p转换成一个int* 那么 p -1 其实就是 p - sizeof(int)所以,p -1 指向了数组中得最后一个元素,也就是 5

转载于:https://www.cnblogs.com/diegodu/p/4572237.html

int a[5]={1,2,3,4,5}; int *p=(int*)(a+1); printf(%d,*(p-1)); 答案为什么是5?相关推荐

  1. int在c语言中的作用,C语言中int,Uint,uint16等有什么区别以及用处

    C语言中int,Uint,uint16等有什么区别以及用处.在C中,既然有了int,为什么还要有uint?特别是uint16,uint32等又有什么用?他们有什么区别?" --------- ...

  2. c语言的数据类型有什么 long int,C语言的三种整型数据类型:INT SHORT INT和LONG INT...

    int数据类型的位数为16位,short int数据类型的位数也是16位.而long int的位数为32位,可用来存储比较大的整数. short int和long int可以缩写为short和long ...

  3. Java实现float转换成int代码_Java中如何将float转换为long或int?(附代码)

    本篇文章给大家带来的内容是关于Java中如何将float转换为long或int?(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在Java中,有三种方法可以将float转换 ...

  4. C#的(int) /int.Parse()/int.TryParse()/Convent.ToInt32()的区别--推荐使用Int.TryParse()

    一.(int)变量名[强制类型转换]:  该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使 ...

  5. c语言的数据类型有什么 long int,C语言的三种整型数据类型:int、short_int和long_int...

    int数据类型的位数为16位,short int数据类型的位数也是16位.而long int的位数为32位,可用来存储比较大的整数. short int 和 long int可以缩写为short 和 ...

  6. 无法解析构造函数‘Employee(int,java.lang.String,java.lang.String,int,com.kuang.pojo.Department)‘

    前言:在写这篇博客的时候,本来博客名字打算叫:"在给Java伪造数据库里面的伪数据的相关字段插入数据时,插入失败,是什么原因导致的?",后来思前想后,还是决定直接拷贝使用编译器上面 ...

  7. java中将int转换float_在java中将float和double转换为int时有什么区别?

    我用这些语句来测试 float f=4.35f; int i=(int)(f*100); System.out.println(i); double d=4.35; i=(int)(d*100); S ...

  8. int **a[3][4] 和 sizeof(a) 和 int(**)a[3][4]

    BS的<C++编程>里面讲得很清楚,变量的申明,变量名称的后面部分比前面部分具有更强的约束力. 所以,如下变量声明: int **a[3][4]; 表示"int **" ...

  9. php 整数转换为32 位,PHP哈希函数返回一个整数(32位int)(PHP hashing function that returns an integer (32bit int))...

    PHP哈希函数返回一个整数(32位int)(PHP hashing function that returns an integer (32bit int)) 目标是使用INT(不是BIGINT或ME ...

  10. int*类型和int类型_mysql8.0.19中在navicat客户端中int、bigint等类型设置长度保存后为0...

    问题描述: 今天在将开发库(mysql版本号:5.7.24)的表结构和正式库(mysql版本号:8.0.19)表结构做比对的时候,发现大量表中字段不一致,初以为是切换到正式库时执行SQL报错了,后,手 ...

最新文章

  1. 从一个需求看问题的无限复杂化和简单化
  2. 互联网晚报 | 2月11日 星期五 | 小红书月活跃用户超2亿;小鹏汽车宣布拓展欧洲市场;贝壳首个青年公寓项目落地上海...
  3. 用户与计算机系统的交互换界面,人机交互期末PPT复习(GXNU李智老师)
  4. linux root所在目录,Linux下误删root目录
  5. mysql的%rowtype_Oracle %TYPE 和 %ROWTYPE 使用
  6. python创建一个空的dataframe_python - 创建一个空的Pandas DataFrame,然后填充它?
  7. mysql添加mcafee 审计插件
  8. 10个最新优秀手机应用界面设计实例
  9. python sqlserver 数据操作_python上手--python操作数据库
  10. 最常用20000英语单词表_家长最值得一看的文章如何培养孩子好的学习习惯!
  11. 腾讯云学生服务器搭建个人网站——配置web开发环境详细步骤
  12. office表格怎么冻结前两行_怎样冻结表格前两行(excel2003中怎么冻结行列标题)
  13. 已知圆柱半径求周长c语言,求圆柱体积和周长的c语言编写程序
  14. 20本父母必读的亲子教育书籍
  15. 2021年最新互联网大厂中秋礼盒PK!
  16. 买到招行CMP1一天赚90
  17. VBA 读写文本文件
  18. 律师要用到什么计算机技巧,【执业技巧】律师如何优雅地使用苹果电脑?这7款工具很有用...
  19. VMware中的虚拟机设置开启VT虚拟化 虚拟机中创建虚拟机
  20. asp.net中引用System.Web.UI.DataVisualization.Charting命名空间

热门文章

  1. Running 1 linux_yesterdaytodaytomorrow
  2. LeetCode 5381. 查询带键的排列
  3. c++笔记(8) 指针及动态内存管理
  4. c++学习笔记(4)
  5. 电子助力方向机控制模块_【技师投稿】使用道通MS908PRO更换宝马F20底盘方向机...
  6. Ubuntu Linux服务器安装JDK8
  7. Pytest之自定义mark
  8. 将多张连续的静态图转成gif动态图
  9. Web3.0网关Deeper Network计划于本月末在四个平台上进行IDO
  10. 征信报告上那些你不知道的事