因为我们使用' include'并且'定义'只有在C中的#之后,这也是在程序开始时;我们仍然将它们视为关键词吗?我们可以声明名为include或define的变量吗?
int include, define;
这是错的吗?问题是,根据我的说法,这不应该是错的。我尝试了这个,它没有给我任何错误。但是,我的大学进行了一次测验,他们说这两个声明是错误的。
答案 0 :(得分:4)
不,它们是预处理指令,如#line
或#error
。它们不被视为关键字。您可以拥有很多变量,例如int line
或int error
。
答案 1 :(得分:1)
根据C11
规范,章节§6.4.1,关键字,include
和define
未出现在保留关键字列表中。所以他们是不关键字。
FWIW,关键字列表,如图所示
keyword:
之一auto ∗ break case char const continue default do double else enum extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while _Alignas _Alignof _Atomic _Bool _Complex _Generic _Imaginary _Noreturn _Static_assert _Thread_local
答案 2 :(得分:0)
不,它们不是像int,char,if,while等关键字,但它们是以哈希符号“#”开头的预处理器。这些预处理器用于链接,定义等目的 有关更多信息,请参阅, https://en.wikipedia.org/wiki/C_preprocessor
答案 3 :(得分:0)
没有关键字,而是include
和define
是 C预处理程序指令,
C预处理器在将源文件交给编译器之前修改源文件,允许使用> #ifdef进行条件编译,使用#define定义常量,包括带有#include的头文件,以及使用内置宏,例如 FILE 即可。 >此页面列出了可用的预处理程序指令或预处理程序的命令:
还有另外一位预处理员......