C的赋值

mrd*_*enz 3 c c++ unix gcc variable-assignment

当你在C中看到这样的代码时,分配的顺序是什么?

int i = 0, var1, var2;
Run Code Online (Sandbox Code Playgroud)

我不懂语法......

Mit*_*eat 11

i赋值为零.

var1并且var2是未初始化的.

  • 未初始化可能会更好.我们知道你的意思,但"未初始化"不仅更常见(一个流行词),而且还有它应有的重量:阅读它们会导致不明确的行为.从技术上讲,`i`也是未分配的,因为它从未被赋予(严格遵守"赋值"的语言定义)一个值. (2认同)

AnT*_*AnT 7

您的代码中没有任何"赋值".它是三个类型变量的声明int,其中一个初始化为零.该=标志是初始化语法的一个组成部分,它无关,与任何"转让".由于那里只有一个初始化,所以对任何"订单"都毫无疑问.

如果这不能回答你的问题,请澄清一下.