数组的首地址为什么是个地址常量不能改变

数学的首地址为什么是个常量不能改变,int a[5]为什么这个a不能++,--,不能赋值,但是a+1又是正确的

a的地址是编译器给你的,不能修改。自增的结果是,a会到下一个地址上去了。+1的结果,a本身的地址是没有变的,a+1,这个表达式指向下一个地址。
你想要自增的话,你还要再来一个指针变量,这个指针指向a,这个指针变量就可以自增。

为什么不能改变?

  1. 我想反问一句,如果可以改变数组的首地址的话,那不就要多很多复制的操作,你想想,你本来把数组放在某个地方,现在你要改地方了,那你不得把数组 “ 搬过去 ” 啊
  2. 其次,如果数组的地址可以任意改变的话,我们如何正常的使用数组?你那个方法改一下,这个方法改一下,数组早不知道放哪去了