[C语言] 外部变量或者函数,应该在哪个头文件中声明?

[复制链接]
2097|7
 楼主| 彪哥 发表于 2014-1-8 09:32 | 显示全部楼层 |阅读模式
如果有多个C文件需要使用同样一个函数或者变量,那这个函数或变量应该在哪个头文件中声明呢?是否有遵循的原则呢?
ayb_ice 发表于 2014-1-8 09:48 | 显示全部楼层
谁用谁声明
不过我是定义声明一块搞定
 楼主| 彪哥 发表于 2014-1-8 10:06 | 显示全部楼层
比如一个函数Delay(),可在多个.h文件中以extern void Delay()声明是吗?并不需要在其中某一个.h文件中声明其是内部函数吗?
zxm19820916 发表于 2014-1-8 11:03 | 显示全部楼层
不好。应该在一个头文件里声明,然后用到这个函数的源代码文件包含这个头文件。
zmbnj 发表于 2014-1-9 10:52 | 显示全部楼层
文件test.c

#define        DEFINE_TEST
#include "test.h"

void func_test(void)
{
}

文件test.h

#ifndef _TEST_H_
#define _TEST_H_

#ifdef        DEFINE_TEST
#define EXTERN_TEST
#else
#define EXTERN_TEST                extern
#endif

EXTERN_TEST        uint8_t delay;
EXTERN_TEST        void func_test(void);

#endif

其他C文件用变量或函数,直接#include "test.h"。
盛夏的葡萄 发表于 2014-1-9 13:59 | 显示全部楼层
楼上方法用起来简单
xyz549040622 发表于 2014-1-9 21:12 | 显示全部楼层
在.c文件中定义和初始化,在.h文件中用extern申明
jjjkkk00 发表于 2014-1-10 09:01 | 显示全部楼层
在与源文件同名的头文件中声明。这样方便文件管理。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

171

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部