【问题标题】:Can someone give me an example of "pure pointer notation" to an array in C?有人可以给我一个 C 中数组的“纯指针表示法”示例吗?
【发布时间】:2012-11-06 02:12:10
【问题描述】:

我正在寻找 C 中“纯指针表示法”的示例。我有一个任务是将程序转换为纯指针表示法,它使用了很多数组。另外,您能否举一个不构成纯指针表示法的示例?

提前感谢您的帮助。

【问题讨论】:

    标签: c arrays pointers notation


    【解决方案1】:

    纯指针符号基本上只是意味着使用指针算法来寻址数组的元素,而不是[...]数组索引运算符。

    例如:

     someArray[10] = newValue;
    

    相同
     *(someArray + 10) = newValue;
    

    【讨论】:

    • 更准确地说,x[y] 定义为*(x + y)。这就是为什么x[y] 等同于y[x]
    • 太棒了。这正是我想要的。我以为是这样,但不是 100% 确定。谢谢。
    • @Let_Me_Be 确实。不过,像10[someArray] 这样的结构往往更难阅读。 ;-)
    【解决方案2】:

    数组的名称可以用作指向数组第一个元素的指针。所以myArray 等价于&myArray[0]*myArray 等价于myArray[0]。然后,您可以使用指针算法到达myArray 的其他索引,例如myArray[1] 等价于*(myArray + 1)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 2017-06-19
      • 1970-01-01
      • 2022-10-07
      • 2013-08-24
      • 2012-06-01
      相关资源
      最近更新 更多