昏昏暗暗 2022-08-24 14:01 采纳率: 81%
浏览 62
已结题

C++中指针指向的数组内存地址相减后的值?

请问为什么我p2-p1的内存地址后值是14(十六进制)但是我输出来的为什么是5呢?

img

  • 写回答

4条回答 默认 最新

  • 刘日政 2022-08-24 14:45
    关注

    因为p1、p2都是int *指针,占四个字节。a[1]-a[6]一共有6个整型变量,相隔5个数,估地址值相差0x14(转换成二进制为20)
    指针相减是差量即20/4=5

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日
  • 创建了问题 8月24日