为什么在C / C ++数组中a [i] == i [a]?
在这里,我们将看到C或C++的一个惊人技巧。数组下标A[i]也可以写为i[a]。在C/C++中,E1[E2]定义为(*((E1)+(E2)))。编译器在内部执行算术运算以访问数组元素。由于将规则转换为二进制+运算符,因此如果E1是数组对象,而E2是整数,则E1[[E2]表示E1数组中的第E2个元素。因此,可以将A[B]定义为*(A+B),因此B[A]=*(B+A)。所以他们基本上是同一件事。
示例
#include <iostream>
using namespace std;
int main() {
int array[] = {1, 2, 3, 4, 5, 6, 7};
cout << "array[5] is " << array[5] << endl;
cout << "5[array] is " << 5[array];
}输出结果
array[5] is 6 5[array] is 6
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短