网站首页 > 技术文章 正文
结构体可以存储不同类型的数据,可以定义一组不同的属性和状态。
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 <stdio.h>
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 <stdio.h>
void printB();
实现:other.c
#include "other.h"
#include "source.h"
void printB() {
//打印结构体的值a
printf("other a:%d\n",s.a);
}
主函数调用:main.c
#include <stdio.h>
//引入结构体
#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;
}
运行结果:
猜你喜欢
- 2024-09-12 c++ printf 到 std::cout(c++怎么用printf输出整数)
- 2024-09-12 C 语言未初始化的局部变量是多少?
- 2024-09-12 大话C语言:函数(c语言函数视频讲解)
- 2024-09-12 每日一题||C语言刷题(c语言刷题网)
- 2024-09-12 大话C语言:逗号运算符及运算法优先级
- 2024-09-12 C语言学习篇(14)-----sizeof运算符
- 2024-09-12 C语言 include的用法(c语言include的用法与搭配)
- 2024-09-12 C语言的位运算基本操作演示(c语言位运算的运算规则)
- 2024-09-12 编写一个C程序,输入a,b,c三个值,输出其中最大值
- 2024-09-12 C语言如何实现大数相加(c语言大数相加思路)
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)