extern使用

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

CTree* pTree = NULL; 全局变量

pTree->InitCTree();

……

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

 

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

 

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

CTree* pTree = newCTree;

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

posted @ 2012-04-26 17:15  陈朋  阅读(190)  评论(0编辑  收藏  举报