所以我对编程完全不熟悉。我目前正在学习计算机科学,刚刚阅读了我的编程书的前200页,但有一件事我似乎无法看到书中没有明确指出的区别和保留词> i> vs 。 标准标识符 - 我如何从代码中看到它是一个还是其他。
我知道保留的单词是一些无法更改的,而标准的标识符可以(虽然根据我的书不推荐)。问题是我的书说保留字总是纯粹的小写,如
(int, void, double, return)
对于像
这样的标准标识符来说,它似乎是一样的(printf, scanf)
所以我怎么知道它是什么,或者我是否必须学习ANSI C中的所有保留字,这是我们正在尝试学习的当前语言(或者我可能使用的任何未来语言)知道什么时候到了吗?
答案 0 :(得分:0)
保留字是语言语法的一部分。没有int
的C不是C,而是其他内容。它们内置于语言中,并且不能也不能根据此特定语言在任何地方定义。
例如,if
是保留关键字。您无法重新定义它,即使您可以,您将如何使用C语言执行此操作?不过,你可以在汇编中这样做。
您所谈论的标准库函数是已包含在标准库中的普通函数,仅此而已。它们是根据语言的语法定义的。此外,您可以重新定义这些功能,但不建议这样做,因为这可能会导致各种错误和意外行为。但写作完全有效:
int puts(const char *msg) {
printf("This has been monkey-patched!\n");
return -1;
}
你会收到警告,抱怨重新定义标准库函数,但这段代码无论如何都是有效的。
现在,想象重新实现return
:
unknown_type return(unknown_type stuff) {
// what to do here???
}