菜鸟起步,受困于全局变量,程序总是被提示重复定义,抓耳挠腮终有一点心得。
举个例子吧,现在有个变量A,在另外2个文件中都会用到它,这两个文件一个是main.c,另外一个不妨假设是b.c
那么A的定义方式和使用方式,我总结出来是这样的:
// ----------文件a.h ---------------
#ifndef A_H
#define A_H
extern int A;
#endif
//------------文件a.c-----------------
// a.c
#include "a.h"
int A; //定义变量A
.........
// ----------文件b.h--------------
#ifndef B_H
#define B_H
#include “a.h"
#endif
//-----------文件b.c-----------------
// b.c
#include "b.h"
..............//使用到A的代码
// --------文件main.h-------------
#ifndef MAIN_H
#define MAIN_H
#include <xxxx.h>
#include "a.h"
#include "b.h"
..........
#endif
//-----------文件main.c--------------
#include "main.h"
void main(void)
{
..............//使用到A的代码
}
//--------------------------------------