extern使用

原始程序在文件中定义这样一个变量

CTree* pTree = NULL; 全局变量

pTree->InitCTree();

……

后来在别的文件中要用到pTree,所以在声明前面加了个extern关键字

程序运行到初始化pTree时出错了。

原来,extern的作用是告诉编译器pTree这个变量已经在别的文件中说明,但是不分配内存。所以第一次使用时一定要给它申请一定的空间。

CTree* pTree = newCTree;

这一句 的作用就是申请一段内存空间了。

原文地址:https://www.cnblogs.com/flysnail/p/2471724.html