如果我们想定义一个全局变量m_data, 在main.c , input.c 和 output.c 中都能使用,例如在input.c文件中做了m_data++的操作,在main.c 和 output.c 中都能得到改变后的m_data的值,然后在这两个文件中也可以改变m_data的值,input.c文同时也能得到改变后的m_data值。我们该怎么做呢?
本文引用地址:https://www.eepw.com.cn/article/201611/322493.htm我给出两个常用的做法:
//在一个头文件里声明外部全局变量
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; //声明外部变量
这是全局变量和外部链接。
评论