变量、结构体、联合体定义只能有一次,所以定义不能放在.h文件里面
如果放在.h文件然后多个.c(源文件)包含此.h文件,这会造成编译重定义报错
那多个.c(源文件)里面要用同一个变量怎么办?
在变量使用频率高的.c文件定义,然后在.h文件使用外部声明extern
那结构体、联合体该怎么处理呢?
同样的声明在.h,定义结构体变量、联合体变量在.c,然后再在.h声明此变量
过程如下:
.h文件:
typedef union _sys_flag
{
}sys_flag;
extern sys_flag sysflagbit;
.c文件
sys_flag sysflagbit;
本文介绍了C语言中结构体和联合体的使用规范,特别是当需要在多个源文件中共享同一变量时,应当如何在头文件.h中声明并在源文件.c中定义。建议将类型定义放在头文件中,而变量定义放在对应的源文件中,并在头文件中使用extern关键字进行外部声明,以避免编译时的重定义错误。
1万+

被折叠的 条评论
为什么被折叠?



