变量的定义为变量分配地址和存储空间, 变量的声明不分配地址。一个变量可以在多个地方声明, 但是只在一个地方定义。加入extern 修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。 说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间, 如外部变量。

    1. int main()
    2. {
    3. extern int A; //这是个声明而不是定义,声明A是一个已经定义了的外部变量
    4. //注意:声明外部变量时可以把变量类型去掉如:extern A;
    5. dosth(); //执行函数
    6. }
    7. int A; //是定义,定义了A为整型的外部变量