如何调用这种操作"a = x"或"a ++"等?

Jac*_*ack 0 c compiler-construction

如何编写编译器的人称之为?我知道这int a, b, c;叫做表达.但是这样的事情:int a = 2?或者a++,a=c等我没有任何想法.我在哪里可以找到这些条款?C标准还是买一本关于编译器构造的书?我希望这很清楚.提前致谢.

ken*_*ytm 7

int a, b, c;
Run Code Online (Sandbox Code Playgroud)

这不是表达.这是一个声明.

int a = 2;
Run Code Online (Sandbox Code Playgroud)

这也是一个宣言.该2部分是初始化程序.

a ++
Run Code Online (Sandbox Code Playgroud)

这是一个" 后增量 " 表达式.请注意,在C世界之外,这可能只是一个声明.

a = c
Run Code Online (Sandbox Code Playgroud)

这是一个赋值表达式(同样,在C之外,这可以是一个语句).


这些术语的确切定义和C语法的每种语法分类都可以在C标准(第6章:语言)中找到,您可以从哪里找到下载/购买信息,从哪里可以找到当前的C或C++标准文档?.

请注意,这些仅适用于C(及其大多数衍生产品,例如C++,Javascript等).这些概念在其他语言中可能没有意义(例如,某些语言不区分语句和表达式).

  • @Hogan你确定`a ++`是左值? (2认同)