博客转载请注明原地址: http://blog.csdn.net/sunliymonkey/article/details/48139183
问题:在c/c++语言中,为什么c[5] == 5[c]?
这个问题,当初是在德问上看见的,起初自己也不知道其机理,猜测与c语言的编译机制有关,于是通过反汇编、猜测、验证,最终找到了原由。
下面是我分析该问题的过程,首先来看一段关于数组的代码:
#include<iostream>
using namespace std;
int main()
{
int a[5];
for(int i = 1; i < 5; i++)
{
a[i] = i + 5;
}
a[3] = 11;
3[a] = 15;
cout << a[3