C 头文件中变量重复定义如何解决
来源:百度知道 编辑:UC知道 时间:2024/05/27 09:34:02
#ifndef _ST_H
#define _ST_H
int i = 89;
#endif
大概是这样子的头文件,i是全局变量老是提示重复定义,该怎么办呢?
不初始化i ,直接写成 int i;可以吗?好象还是重复定义.
我是说在其他文件包含这个头文件的时候会有重复定义。你说的我没明白,能具体点吗?
#define _ST_H
int i = 89;
#endif
大概是这样子的头文件,i是全局变量老是提示重复定义,该怎么办呢?
不初始化i ,直接写成 int i;可以吗?好象还是重复定义.
我是说在其他文件包含这个头文件的时候会有重复定义。你说的我没明白,能具体点吗?
要清楚2个事情:
头文件中我们只做声明;
在*.C文件中我们才做定义;
所以,你在ST.C中有: int i=89;
在ST.H中:extern int i;
你去掉一个定义不是行了
其他文件,你被定义i你换个j或者其他的