【C语言】二维数组指针,*a+1和*(a+1)的区别
首先
a存了3个一维数组,是一维数组的名称,首指向第一行一位数组的首地址
a[i]是第i行一位数组的名称,首指向一位数组的第一个数。

我把*理解成读地址进去。

*a+1

根据运算符顺序,先运算a,a指向首个元素1000,读出地址1000进入一位数组指向首个数,即地址为1000那个,然后+1指针往后,即指向1004,所以a+1代表&(0)(1)也就是1004。

*(a+1)

a指向1000,➕1往下走,指向1012,*读了1012进入1012,所以结果是&a[1]{0}。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
  • 2022-12-23
  • 2021-10-14
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-22
  • 2022-01-31
  • 2021-09-25
  • 2021-12-19
  • 2021-11-18
相关资源
相似解决方案