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

时间:2012-08-12 19:25:01

标签: c compiler-construction

编写编译器的人如何称呼它?我知道int a, b, c;被称为表达式。但事情是这样的:int a = 2?或a++a=c等我不知道。我在哪里可以找到这些条款? C标准还是买一本关于编译器构造的书?我希望这很清楚。提前谢谢。

1 个答案:

答案 0 :(得分:7)

int a, b, c;

这不是表达。这是declaration

int a = 2;

这也是一个声明。 2部分是initializer

a ++

这是“post-incrementexpression。请注意,在C世界之外,这可能只是statement

a = c

这是一个assignment表达式(同样,在C之外,这可以是一个声明)。


这些术语的确切定义以及每种语法 for C 的分类都可以在C标准(第6章:语言)中找到,您可以找到下载/从Where do I find the current C or C++ standard documents?购买信息。

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