在单片机编程中经常会用到全局变量,假设要在a.c文件中用到b.c文件定义的变量,我们应该怎样定义、怎样引用才能让程序看起来干净整洁呢?下面简单记录一下
假设现在有3个c文件,a.c、b.c、main.c;2个头文件,a.h,b.h
要在main.c文件中用到a.c和b.c文件中的变量,
(1)可以在a.c文件中【int global_a = 0;】,在a.h中申明【extern int global_a;】;
在b.c文件中【int global_b = 0;】,在b.h中申明【extern int global_b;】
(2)在main.c中包含a.h与b.c头文件,即可在main.c文件中去改变global_a 和global_b变量的值了
下面贴出main.c文件的代码
1. #include <stdio.h> 2. #include <stdlib.h> 3. #include "a.h" 4. #include "b.h" 5. 6. int DataPro(int x); 7. 8. int main(void) 9. { 10. int ResGlobalA, ResGlobalB; 11. ResGlobalA = DataPro(global_a + 5); 12. ResGlobalB = DataPro(global_b + 10); 13. 14. printf("ResGlobalA = %d.\n", ResGlobalA); 15. printf("ResGlobalB = %d.\n", ResGlobalB); 16. 17. system("pause"); 18. return 0; 19. } 20. 21. int DataPro(int x) 22. { 23. x++; 24. return x; 25. } 26.
运行结果如下:
相应的代码上传到CSDN,下载地址:https://download.csdn.net/download/weixin_42445727/10797111