C中有多少个expr_no_commas'='expr_no_commas表达式?

ass*_*sem 0 c syntax

expr_no_commas '=' expr_no_commas
Run Code Online (Sandbox Code Playgroud)

它是在C的规则中找到的,但我能想到的唯一可能的形式是:

identifier = expr_no_commas
Run Code Online (Sandbox Code Playgroud)

也就是说,左边是单个变量,还是其他任何变量?

Jer*_*ock 5

有很多C表达式是非标识符的赋值; 这里有一些例子:

x[1] = 5;
*f() = 7;
*p++ = 0;
a[i].f = a[i].g;
Run Code Online (Sandbox Code Playgroud)

  • @assem:为什么不呢?函数可以返回指针. (2认同)
  • @assem:将`*`运算符应用于右值指针返回一个左值. (2认同)