一个简单有关问题
一个简单问题
int a[]={1,2,3,4,5,6,7,8,9};
int i=5;
有以上定义,那么i[a]是什么意思?为什么i[a]==a[i]?编译器是怎么解析的?
------解决方案--------------------
C/C++语言中,一个整数a跟一个地址b,谁在中括号前面、谁在中括号里边无所谓。
表达的都是“*(a + b)”的含义,这样处理的原因可能是由于“*(a + b)”和“*(b + a)”本身就是等效的。
int a[]={1,2,3,4,5,6,7,8,9};
int i=5;
有以上定义,那么i[a]是什么意思?为什么i[a]==a[i]?编译器是怎么解析的?
------解决方案--------------------
C/C++语言中,一个整数a跟一个地址b,谁在中括号前面、谁在中括号里边无所谓。
表达的都是“*(a + b)”的含义,这样处理的原因可能是由于“*(a + b)”和“*(b + a)”本身就是等效的。