数组名是一个比较特殊的存在.我们都知道的就是数组名是数组的首地址,初学的可以把它理解成指针,通过指针操作可以获取数组内容;
但它跟指针还是有区别的:指针是一个变量,指向一块空间,同时指针本身也存储在某个空间;而数组名是符号地址常量,在编译时求值并存在编译器的符号表里面,其值就是个内存地址,可以认为程序没有给其分配空间,数组名只是代表了那个数组空间;
char ch[100];
ch和&ch值是一样的,本来对常量取地址是非法的,但是标准组织没有定对数组名取地址是非法还是合法,所以因编译器而异,VC是合法的。