变量的声明和定义

1.基本概念

  • 声明(declaration):使得名字为程序所知, 一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。
  • 定义(definition)负责创建与名字关联的实体。

2.功能

  • 变量声明规定了变量的类型和名字, 在这一点上定义与之相同;
  • 变量的定义除了声明变量的类型和名字,还申请变量的存储空间,也可能会为变量赋一个初始值;
    如果想声明一个变量而非定义它, 就在变量名前添加关键字extern, 而且不要显式地初始化变量:
extern int i; //声明l. 而非定义i
int j;  //声明并定义

任何包含了显式初始化的声明即成为定义。我们能给由ex七ern关键字标记的变量赋一个初始值, 但是这么做也就抵消了extern的作用。extern语句如果包含初始值就不再是声明, 而变成定义了:

extern double pi = 3.1416; //定义

在函数体内部, 如果试图初始化一个由extern关键字标记的变量,将引发错误。因为在函数体的外面已经进行了定义

NOTE:文量能且只能被定义一次, 但是可以被多次声明。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。