萧县砀山划归淮北2017:c语言数组问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/09 07:17:25
当引用同一个数组如a[6],写成a[3+3]是不是一样的?为什么?

一样,没问题,你写成6[a]也没问题(自己可以试验一下),不过习惯不好。
因为编译器对于数组是转换为指针的,a[6]会被转为
*(a+6),a[3+3]被转为*(a+3+3),又因为对于常量运算式会计算出最后结果,所以最终也会转为*(a+6),同样的道理,6[a]被转为*(6+a),和*(a+6)等价。

a[6] 是访问a数组中的第七个数据,在表达式中使用a[3+3]一般是没问题的,比如:
a[3+3]=x;或x=a[3+3];
在VC下使用
int a[3+3];
来定义数组a也没有问题(可能是在编译阶段能算出数组大小的表达式都没问题)

a[3+3]好像是语法错误