这两种定义方法有什么不同呢?
在文件b.c中包含 a.h头文件,并调用function()函数
方法一:
在a.c中实现 在a.h中声明
------------------------------------
a.c:
void function(void)
{
...
}
a.h:
void function(void)
-----------------------------------------
方法二:
在a.c中声明并实现 并在a.h中以extern声明
------------------------------
a.c:
void function(void);
void function(void)
{
...
}
a.h:
extern void function(void)
-----------------------------------
这两种方法有何区别?
[解决办法]
我认为你的第二种写法是正确的。我觉得有两种正确的选择。
1. 你的第二种写法。
2. 如果函数的实现比较小。你可以把声明和定义都写在.h中, 并且inline它。