微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 全局变量在多文件中传递的方法

全局变量在多文件中传递的方法

时间:11-27 来源:互联网 点击:
如果我们想定义一个全局变量m_data, 在main.c , input.c output.c 中都能使用,例如在input.c文件中做了m_data++的操作,在main.c output.c 中都能得到改变后的m_data的值,然后在这两个文件中也可以改变m_data的值,input.c文同时也能得到改变后的m_data值。

我们该怎么做呢?

我给出两个常用的做法:
//在一个头文件里声明外部全局变量
extern intm_data; //声明这个是外部全局变量

intm_data; //在这里定义全局变量
int main(void)
{
.........
}

#include "main.h " //其他地方只要包含这个声明外部变量的头文件
input(){....}

#include "main.h " //其他地方只要包含这个声明外部变量的头文件
output(){.....}

下面的做法和上面是一个意思

//main.c
intm_data; //主函数定义

void main(){}

//input.c
extern intm_data; //声明外部变量

//output.c
extern intm_data; //声明外部变量

这是全局变量和外部链接。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top