【发布时间】:2012-11-06 02:12:10
【问题描述】:
我正在寻找 C 中“纯指针表示法”的示例。我有一个任务是将程序转换为纯指针表示法,它使用了很多数组。另外,您能否举一个不构成纯指针表示法的示例?
提前感谢您的帮助。
【问题讨论】:
标签: c arrays pointers notation
我正在寻找 C 中“纯指针表示法”的示例。我有一个任务是将程序转换为纯指针表示法,它使用了很多数组。另外,您能否举一个不构成纯指针表示法的示例?
提前感谢您的帮助。
【问题讨论】:
标签: c arrays pointers notation
纯指针符号基本上只是意味着使用指针算法来寻址数组的元素,而不是[...]数组索引运算符。
例如:
someArray[10] = newValue;
与
相同 *(someArray + 10) = newValue;
【讨论】:
x[y] 定义为*(x + y)。这就是为什么x[y] 等同于y[x]。
10[someArray] 这样的结构往往更难阅读。 ;-)
数组的名称可以用作指向数组第一个元素的指针。所以myArray 等价于&myArray[0],*myArray 等价于myArray[0]。然后,您可以使用指针算法到达myArray 的其他索引,例如myArray[1] 等价于*(myArray + 1)。
【讨论】: