C 头文件中变量重复定义如何解决

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:34:02
#ifndef _ST_H
#define _ST_H

int i = 89;

#endif
大概是这样子的头文件,i是全局变量老是提示重复定义,该怎么办呢?
不初始化i ,直接写成 int i;可以吗?好象还是重复定义.
我是说在其他文件包含这个头文件的时候会有重复定义。你说的我没明白,能具体点吗?

要清楚2个事情:

  1. 头文件中我们只做声明;

  2. 在*.C文件中我们才做定义;

 

所以,你在ST.C中有: int i=89;

在ST.H中:extern int i;

你去掉一个定义不是行了
其他文件,你被定义i你换个j或者其他的