c++系列文章(2):分离式编译——变量的声明和定义

博客链接
  C++语言支持分离式编译,该机制允许将程序分割成若干个文件,每个文件可被独立编译。如果将程序分为多个文件,则需要在文件之间共享代码,例如一个文件中的代码可能需要使用另一个文件中定义的变量,如cin和cout在标准库中定义,我们却能在自己的程序中使用。

声明和定义

  为了支持分离式编译,C++语言将声明和定义区分开来。声明使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。而定义则负责创建与名字关联的实体
  声明规定了变量的类型和名字,而定义除了规定了变量的类型和名字外,还申请了存储空间,还可能为变量赋一个初始值。如果只是声明一个变量而不是定义它,就在变量名前添加关键字extern并且不要显式初始化变量。

extern int i; //声明而非定义i
int j; //声明并定义j

  任何包含了显式初始化的声明即成为定义,不论是否有extern关键字。

extern int j = 0; //定义j

  变量只可以被定义一次,但可以被声明多次。

标识符的命名规范

  C++的标识符由字母、数字和下划线组成,其中必须以下划线或者字母开头。为了避免和标准库中的名字冲突,用户自定义的标识符中不能连续出现两个下划线,也不能以下划线紧接大写字母开头,此外定义在函数体外的标识符不能以下划线开头

发布了19 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hjc132/article/details/103430651