从来没有想到数组竟然可以这样用,a[5]==5[a] 是true。 因为 a[5] 实际代表 *(a+5), 而 5[a] 代表 *(5+a)。所以显然两者是相等的。 也就是说*({integer location of}a {operator}+ {integer}5)= *({integer}5 {operator}+ {integer location of}a) 进而可以推出 5[&(a[1])] 实际上代表 a[6].
数组中 a[5]==5[a]
最新推荐文章于 2021-12-10 13:34:32 发布
本文深入探讨了数组中不常见的操作方式——a[5]==5[a],揭示了其背后的原理。通过分析,我们发现这种看似奇特的操作实际上是基于指针运算的巧妙应用,即a[5]代表*(a+5),而5[a]代表*(5+a)。进一步推导,我们可以得出5[&(a[1])]实际上代表a[6]的结论,展现了数组与指针交互的深奥之处。
1698

被折叠的 条评论
为什么被折叠?



