#include <stdio.h>
int main()
{
int a[] = {1, 2, 3};
printf("%d", 0[a]);
printf("\n%d", 2[a]);
return 0;
}
输出:
1
3
我知道如何使用索引访问数组元素,但是上述语法如何在两种情况下访问第一个值并添加前缀数字?
在C语言中,数组和指针具有相似之处。当您访问数组元素时array[3]
。这等效于:
*(array + 3) // Dereferencing the 3rd index from beginning
同样,当您尝试像一样访问它时3[array]
,语句如下:
*(3 + array) // Identical to the first example
哪个是一样的。最后,当您想要获得数组的第N个元素时N[array]
,语法变为:
*(N + array)
这就是为什么您获得预期的输出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句