What is 0[p] doing?
This question already has an answer here:
The C Standard defined the operator []
this way:
Whatever a
and b
are a[b]
is considred as *((a)+(b))
And that's why 0[p] == *(0 + p) == *(p + 0) == p[0]
which is the first element of the array.
0[p]
is equivalent to p[0]
. Both are converted as
0[p] = *(0+p) and p[0] = *(p+0)
From above statements both are equal.
0[p]
in 0[p] = 42;
is equivalent to p[0]
+
operation is commutative and we have:
p[0] == *(p + 0) == *(0 + p) == 0[p]
链接地址: http://www.djcxy.com/p/86716.html
上一篇: 数组]在C ++中
下一篇: 什么是0 [p]在做什么?