0

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

4

1 回答 1

7
int a, b, c;

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

int a = 2;

这也是一种宣言。该2部分是初始化程序

a ++

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

a = c

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


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

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

于 2012-08-12T19:28:07.370 回答