为了方便开发,我定义了一个 Global.h 的文件,并在这个文件里,定义了一个结构体Stu,为了方面运用,我又定义了一个 EmptyStu,并予以复制,如代码所示:
#ifndef _GLOBAL_H_
#define _GLOBAL_H_
struct Stu{
char * name ;
char * info ;
long age ;
}
typedef struct Stu Stu ;
const Stu EmptyStu = {NULL,NULL,0}
#endif
就是这样一段程序,结果报错,有2个错误:
Main.c:(.bss+0x0):multiple definition of `EmptyStu'
Global.c:(.bss+0x0): first defined here
LoginUI.c:(.bss+0x0): multiple definition of `EmptyStu'
Global.c:(.bss+0x0): first defined here
注意,我这里Main.c和LoginUI.c都导入了"Global.h"。
提问:
1、我想不通为什么会重复定义;
2、在.h文件中,如何定义了结构体后,又给予其中一个变量固定的赋值,并最好保持其全局变量特征,以及const保证其不会改变呢?