浅谈C语言结构体中多文件的使用

最近在学单片机C51,手中一个实验需要使用到结构体。但是多文件结构体搞了很久都没成功,在网上找资料文档也是眼花缭乱,对我这个菜鸡中的菜鸡很不友好。搞了1天总算完成了,把自己的亲身经历奉献给大家,供各位参考。有不对的地方也希望高手指出。

首先新建3个文件main.c/a.h/a.c

a.h写入结构体模板以及结构体变量的声明

 1 #ifndef _A_H
 2 #define _A_H
 3 
 4 struct S   //定义结构体模板,标签S
 5 {
 6     char x;
 7     char y;
 8     char z;
 9 };  //这个分号必须有
10 
11 extern struct S aa;//声明结构体变量aa(亲测extern可以没有)
12 #endif

a.c写入结构体变量的初始化(可以赋值也可以不赋值)

1 #include "a.h"
2 
3 struct S aa = {3,5,8};//初始化结构体(也可以不赋值struct S aa;)

main.c调用,且可以给结构体变量修改值

 1 #include <stdio.h>
 2 #include "a.h"
 3 
 4 int main()
 5 {
 6     printf("%d\n%d\n%d",aa.x,aa.y,aa.z);//直接调用aa结构体变量
 7     aa.x=10;//给aa结构体中的x重新赋值
 8     printf("%d\n",aa.x);//打印aa.
 9     return 1;
10 }

 

posted @ 2024-03-04 18:39  squid-尤鱼  阅读(405)  评论(0)    收藏  举报