gpt4 book ai didi

c - 左值 : array and structure

转载 作者:行者123 更新时间:2023-11-30 20:50:53 27 4
gpt4 key购买 nike

lvalue被定义为可以赋值的表达式。并且用数组值赋值和数组是非法的。例如:

int x[2],y[2];
x = y;

而结构可以被视为 lvalue s。以下结构分配有效。

typedef struct car {
char color[20];
int price;
} CAR;

CAR audi, bmw;
audi = bmw;

有什么区别?

最佳答案

数组本身不可赋值,但可在struct内部赋值,这是有历史原因的。这种差异确实没有技术原因。

这里有一个轶事是,当 C 被设计时,它是基于某种语言(不记得是哪一种了!),它没有数组赋值,所以这个特性也被从 C 中排除——以保持兼容性。然而,这种语言没有 struct,因此在 struct 内进行数组赋值是可以的。

关于c - 左值 : array and structure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37279263/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com