关于c指针和*&运算符的问题

Ker*_*y82 2 c pointers

假设我在程序中有这行代码:

int * number=0;
int mystery=&6[number];
Run Code Online (Sandbox Code Playgroud)

Mistery是一个数字,我可以使用&5或&4获得其他数字.

但是"&6 []"是什么意思?

谢谢!

Ric*_*dle 6

6[number]完全相同number[6],所以你得到的是六个整数的地址number.由于number是0和a int是4个字节长,结果是24.


zne*_*eak 5

6[variable]是另一种不太可读的表达方式variable[6].它的作用是因为加法的可交换性:variable[6]是相同的*(variable + 6),因此6[variable]是相同的*(6 + variable).