当我们用C编写printf()时,我们是声明它还是定义它?
当我们用C编写printf时,我们是声明它还是定义它?当我们用C编写printf()时,我们是声明它还是定义它?,c,C,当我们用C编写printf时,我们是声明它还是定义它? 如果它是一个定义,那么声明在哪里,反之亦然?您两个都没有做:您只是在调用一个属于C标准库的函数 当您包含包含printf声明的标题时,您就是在声明它 该定义可能是编译器附带的预编译包的一部分。但它可能内联在一个标题中。对于某些函数,编译器本身可能会提供定义。printf是stdio头中的预定义函数。您既不声明也不定义它,而是使用它 printf是库中内置的函数。因此,当您包含时,您将引入声明,以便将函数链接进来 当我们用C写的时候,我们调用
如果它是一个定义,那么声明在哪里,反之亦然?您两个都没有做:您只是在调用一个属于C标准库的函数 当您包含包含printf声明的标题时,您就是在声明它
该定义可能是编译器附带的预编译包的一部分。但它可能内联在一个标题中。对于某些函数,编译器本身可能会提供定义。printf是stdio头中的预定义函数。您既不声明也不定义它,而是使用它 printf是库中内置的函数。因此,当您包含时,您将引入声明,以便将函数链接进来 当我们用C写的时候,我们调用printf, 在标题中有一个声明,如int printfconst char*format。。。;,我们应该在C程序中包含这个头 printf的定义在标准库实现中
获取与应用程序代码的链接。两者都没有。您正在调用它。您正在调用它。printf是一个错误,所以两者都不是。对printf的调用将具有参数,并出现在需要表达式的上下文中。形式上,它不必位于该头中—它可以位于该头包含的头中。尽管如此,回答还是很好。我如何理解printf的定义?