发布网友 发布时间:2022-06-01 18:15
共1个回答
热心网友 时间:2023-10-10 23:45
因为数组名就是数组第一个元素的指针常量,是一个常量左值。可以赋值的必须是非常量左值,常量左值和右值是不可以被赋值的。追答右值就是临时变量和字面量,左值就是有一定生命期的变量或者常量。非常量左值就是可以赋值的,因为不是常量,所以可以放到等号左边。
结构体变量在做赋值的时候都是左值,并且等号两边类型匹配,所以可以赋值。
前面我说了数组名是指向第一个元素的指针常量,所以假如你可以赋值,那赋值的并不是数组的元素,只是地址赋值而已,所以数组直接赋值是不允许的。