指针肯定是一个困难的话题,但是我碰到了这个片段,我只是弄不清楚p[-1]
是什么:
#include <stdio.h>
int main(void) {
int t[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, *p = t;
p += 2;
p += p[-1];
printf("%d",*p);
return 0;
}
每当您看到类似a[b]
C的表达式时,您就可以从心理上认为这*(a + b)
正在发生。
因此,这只是“元素p
指向当前内容之前的内容”。
由于p
是t + 2
,p[-1]
指的t[2 + (-1)]
即t[1]
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句