《c++primer》学习随笔——定义、声明和extern

1,声明一个变量,必须加关键字extern
2,没有关键字extern,则就为变量的定义,无论这个变量定义时有没有初始化
3,只要定义变量时初始化了,即使前面加了关键字extern,也是定义,不是声明。(不过只有在函数体外时,才能够在定义且初始化时,加上extern关键字,这是为了const变量设定的)
4,多文件程序中,一个文件含有变量的定义,另外一个文件中含有变量的声明,定义只能有一次,声明不限。
5,非const变量,定义时默认是加了extern的,即在函数体外定义变量时,默认加了extern,说明这是一个全局变量,可以被其他文件访问(访问的前提是在这个文件中做了声明)。
   但是const变量,默认是不加extern的,也就是即使在函数体外全局作用域定义一个const变量,也只能够在定义的这个文件访问,不能被其他文件访问。要想被其他文件访问,需要在定义const变量时,显示的加上extern关键词。 

    
    extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件(当然也有可能定义就在本文件中)中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。



posted on 2011-06-15 18:27 古月 阅读(259) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

常用链接

留言簿

随笔分类

随笔档案

文章档案

C++/C

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜