首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这两种定义方法有什么不同呢?该如何解决

2012-03-11 
这两种定义方法有什么不同呢?在文件b.c中包含a.h头文件,并调用function()函数方法一:在a.c中实现在a.h中声

这两种定义方法有什么不同呢?
在文件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它。

热点排行