浅谈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 }
浙公网安备 33010602011771号