如
#ifndef MY_H
#define MY_H
int number = 3;
#endif
出现重定义错误.
原因#ifndef那几句只能保证在同一文件中不重复定义,因此最好不要将变量定义放于头文件.应写成这样:
.c:
int number = 3;
.h:
#ifndef MY_H
#define MY_H
extern int number;
#endif
或者:
#ifdef MY_H
extern int x;
#endif
#ifndef MY_H
#define MY_H
int x;
#endif