变量、结构体、联合体重定义问题

本文介绍了C语言中结构体和联合体的使用规范,特别是当需要在多个源文件中共享同一变量时,应当如何在头文件.h中声明并在源文件.c中定义。建议将类型定义放在头文件中,而变量定义放在对应的源文件中,并在头文件中使用extern关键字进行外部声明,以避免编译时的重定义错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量、结构体、联合体定义只能有一次,所以定义不能放在.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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值