【问题标题】:What does ARR+num*8 do? where ARR is a dynamic array and num is an intARR+num*8 有什么作用?其中 ARR 是动态数组,num 是 int
【发布时间】:2015-10-17 00:53:46
【问题描述】:

ARR 是使用 malloc 制作的数组。然后,它以 ARR+num*8 的形式传递给函数。 它是什么意思?

【问题讨论】:

  • 没有代码很难说...
  • 可能会弄乱指针

标签: c arrays dynamic


【解决方案1】:

意思是&ARR[num*8]

如果整数,比如n,被添加到指针中,它将是一个指向原始指针之前的n元素的指针。

E1[E2] 等同于(*((E1)+(E2)))

(N1256 6.5.2.1 数组下标)

【讨论】:

    【解决方案2】:

    表示:arr + (num * 8)&arr[num * 8]

    在我的回答中查看我更详细的解释:Confused in pointers of two dimensional struct

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 2012-01-10
      • 2018-06-16
      • 2021-09-16
      • 2011-07-26
      • 2020-07-10
      • 1970-01-01
      相关资源
      最近更新 更多