【发布时间】:2019-09-14 07:32:18
【问题描述】:
我有以下简单的代码:
mainc.c:
#include <stdlib.h>
#include "hello.h"
int main (int argc, char *argv[])
{
hello ();
return EXIT_SUCCESS;
}
你好.c:
#include "hello.h"
void hello (void)
{
printf ("Hello world!");
}
你好.h:
#ifndef _HELLO_H_
#define _HELLO_H_
#endif
我需要在 hello 中包含 stdio.h 才能访问 printf() 函数。
我应该在哪里包含它?在 hello.c 或 hello.h 中?两种解决方案似乎都是正确的,是否有最佳实践?
【问题讨论】:
-
您在需要的地方包含头文件。如果您需要头文件中的结构或类型或宏或函数声明,则在头文件中包含相应的头文件。至少这是我的意见。
-
另请注意,以下划线开头后跟大写字母(如
_HELLO_H_)的符号是保留的。您不应该自己定义(作为宏或其他任何东西)。 -
在当前用例中,正确的方法是在 hello.c 中包含 stdio.h ?
-
对于这个简单的例子,是的。并且不要忘记在
hello.h头文件中声明hello函数。
标签: c header-files