如果我們想定義一個全局變量m_data, 在main.c , input.c 和 output.c 中都能使用,例如在input.c文件中做了m_data++的操作,在main.c 和 output.c 中都能得到改變后的m_data的值,然后在這兩個文件中也可以改變m_data的值,input.c文同時也能得到改變后的m_data值。我們該怎么做呢?
本文引用地址:http://m.butianyuan.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; //主函數(shù)定義
void main(){}
//input.c
extern intm_data; //聲明外部變量
//output.c
extern intm_data; //聲明外部變量
這是全局變量和外部鏈接。
評論