将数组表示法写为指针表示法

时间:2010-10-24 19:17:26

标签: c

问题是&str[2],如果我写str+2那么它会给出地址及其逻辑但我在哪里使用指针表示法?

我更喜欢写&(*(str+2))吗?

2 个答案:

答案 0 :(得分:4)

您可以使用

&str[2]

(str + 2)

这两者都是等价的。

答案 1 :(得分:3)

这是指针算术。因此,当您提到数组str&str时,您将引用数组的基址(例如,在printf中),即数组中{{1}的第一个元素的地址}。

从此开始,每个增量都会获取数组中的下一个元素。因此str[0]str[1]会给您相同的结果。

另外,如果你有num [] = {24,3}

然后(str + 1) == num[0] == *(num + 0) == *(0 + num)