开发者社区 问答 正文

定义一个指针数组,这个数组名也是字符常量么,但为什么可以被另外一个数组名赋值?

例如:
int x4 ={0};
int (* p)[3] ; //这里p是一个以指针为元素的数组的数组名吧。。。
p = x ; //为什么可以执行这步操作

展开
收起
a123456678 2016-03-20 10:01:42 2546 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果是指针,就可以被赋值。int (*p)[3] 是定义一个指向数组的指针,所以能被改变初始值 。 P 说白了,其实就是三个指针。而不是数组。
    就像 int i[3] 中的 i[0],i[1],i[2]不一样,是可以被修改的。
    如果是数组名,则被看做常量,所以不能修改其初始值的。

    2019-07-17 19:08:44
    赞同 展开评论