【问题标题】:arrays / pointers (C)数组/指针 (C)
【发布时间】:2009-10-28 00:09:01
【问题描述】:

在 C 中是: *(array) 相当于 array[0]?

因此是 *(array+2) 相当于 array[2]?

【问题讨论】:

标签: c arrays pointers


【解决方案1】:

是的,例如:

给定:

int a[10];

然后

*(a + 2)

等价于

a[2]

只是为了更好的衡量。

a[2]

等价于

2[a]

【讨论】:

  • 好吧,你把我弄丢了。 2[a] = a[2] 怎么可能?
  • 是的,存储地址2加“a”的地址与“a”加2的地址相同!
  • 我有个老板叫它“排列和索引”... :)
【解决方案2】:

您可能需要查看此内容以获取更多帮助: http://www.ibiblio.org/pub/languages/fortran/append-c.html

4) 取值为 i 的下标是 相等的 到操作:“指针加 i 然后 类型取消引用总和”,即

      xxx[i] = *(xxx # i)

正如其他人所提到的,答案是肯定的,但您可能希望获得更好的理解。

【讨论】:

    【解决方案3】:

    简单的答案是:是的。

    【讨论】:

    • 简单的评论是:没用,不解释。
    【解决方案4】:

    是的,是的。 (填充到所需的 15 个字符长度。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 2013-04-19
      相关资源
      最近更新 更多