谁来解释一下下面这个程序?

img


p为双指针变量,那么p++它有意义吗?p是指向a的a是指向Morning的,a+1是指向Afternoon的,p+1不是没有指向吗?

  • p 为 二维指针,a 为 指针数组
  • 一维指针存放变量的地址,二维指针存放一维指针的地址。
  • 指针数组是一个数组,只是每个元素保存的都是指针
  • p 和 a 两者类似, a相当于二维数组的行指针,指向每行元素的首地址,那p 也可以理解为二维数组的行指针,也指向每行元素的首地址。
  • p 一开始 指向 “Morning” 的首地址,p++ 就指向了 下一行,即 “Afternoon” 的首地址。这里 p++,后可以直接打印 *p 数据
  • 同理 a + 1,行指针 + 1,即指向下一行, p + 1 也是一样。 这里 想打印下一行,需要 这样 *(p + 1)

如有帮助,欢迎采纳哈!