全局变量的定义和使用

extern说明符说明该变量可作为一个外部变量使用,在某个文件中定义了该变量后,使用变量时加上extern说明符,然后添加头文件。(在头文件中定义不加extern在源文件使用前加extern再定义。否则出错)
头文件和源文件

//332.h
#include<iostream>
using namespace std;
int num; //定义全局变量
int externNum;//外部变量
void ShowAddress()
{
    cout<<"在文件中地址为"<<&externNum<<endl;
    cout<<"在文件中地址为"<<&num<<endl;

}
#include"332.h"
extern int externNum;
int main()
{
    cout<<"在主函数中地址为"<<&externNum<<endl;
    cout<<"在主函数中地址为"<<&num<<endl;
    ShowAddress();
    return 0;   
}

这里写图片描述

由结果可知,使用文件包含或使用extern的变量在内存中的存储位置是相同的,因此属于同一个变量。这些变量可以作为整个程序的共享变量来使用,从而方便文件之间的数据加交互。
注意:在使用extern定义变量时,需要和原变量的类型保持一致,否则某些编译器会认为是不同的变量。

猜你喜欢

转载自blog.csdn.net/weixin_38293125/article/details/80931564