【c语言】struct结构体实例声明为extern全局变量,供多个文件调用
结构体可以存储不同类型的数据,可以定义一组不同的属性和状态。
extern 修饰符通常用于当有两个或多个文件共享相同的全局变量或函数的时候。利用extern的特性,可以让struct实例,作为公共数据供多个文件使用,例如:
定义结构体:source.h
//结构体
typedef struct {
int a;
}Source;
//全局变量
extern Source s;实现结构体:source.c
#include "source.h"
//初始化
Source s = {0};定义外部文件:file.h,打印结构体的值a
#include
void printA(); 实现:file.c
#include "file.h"
#include "source.h"
void printA() {
//修改a的值为30
s.a = 30;
//打印结构体的值a
printf("file a:%d\n",s.a);
}定义其他文件:other.h,打印结构体的值a
#include
void printB(); 实现:other.c
#include "other.h"
#include "source.h"
void printB() {
//打印结构体的值a
printf("other a:%d\n",s.a);
}主函数调用:main.c
#include
//引入结构体
#include "source.h"
//引入file
#include "file.h"
//引入other
#include "other.h"
int main() {
//设置结构体a的值
s.a = 20;
//打印结构体a的值
printf("a:%d\n",s.a);//打印为20
//打印file中结构体a的值
printA();//修改了结构体的值,打印值为30
//打印other中结构体a的值
printB();//值为30
return 1;
} 运行结果:
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
- Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
- Spring Boot+Pinot实战:毫秒级实时竞价系统构建
- SpringBoot敏感配置项加密与解密实战
- SpringBoot 注解最全详解,建议收藏!
- Spring Boot 常用注解大全:从入门到进阶
- SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
- Springboot集成Kafka原理_spring集成kafka的原理
- Spring Boot中@Data注解的深度解析与实战应用
- 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
