extern的疑惑
在test.h里声明一个函数, extern void test(void);在test.c里定义函数.
void test(void)
{
do something;
}
我的疑问是, test.c中包含test.h; 而按照网络上的文章里所讲, extern keyword表明该函数定义在其他文件里.
但我感觉如果test.c包含了test.h, 那不就是一个新文件test.c中,有以下样式的代码:
extern void test(void);
....
void test(void)
{
do something;
}
这里的EXTERN的作用呢? 这里明明是声明一个函数原型,但该函数定义就在本文件中啊.
请高手解惑.