[] 是个运算符,和加减法符号一个样
因此,2+array 等价于 array+2
呵呵
牢记,[]是运算符
极端说,C这种语言里面,数组 is nothing
2[array]是什么意思?这个我没遇到过
array是整个数组的起始地址,相当于array[0]的地址,array[2]的地址等价于array的地址+2个INT空间的大小
*(2 + ( array ) )就是对array[2]的地址取内容,即array[2]
array[2]和*(array+2)等效,数组名是标识数组所储存单元的首地址,也就是array[0]与*array等效,更详细的请参考谭浩强版的C语言书
2[array]真没见过这个
#include<stdio.h>
int main()
{
int array[10]={1,2,3,4,5,6,7,8,9,0};
printf("%d\n",2[array]);
return 0;
}
结果:
我把这个程序跑了一下,提示:error C2018: unknown character '0xa1',是怎么回事呀?
@黄中超: 你用的是什么编译器???我有运行了一遍,没这种问题!