C++声明和定义

声明和定义

  1. 变量定义: 用于为变量分配存储空间,还可以指定初始值。程序中变量有且只能有一个定义。
  2. 变量声明: 用于向程序表明变量的类型和名字。
  3. 定义也是声明: 定义的同时也声明了类型和名字。
  4. extern关键字: 使用extern可以声明变量而不定义。

实例

1
2
3
4
5
6
7
8
9
10
//对于变量来说,除非有extern,否则就是定义
extern int i; //声明,不分配存储空间,告诉编译器变量在其他地方定义了
int i; //定义,同样也是声明
extern double pi=3.14; //赋初值的声明也是定义
//对于函数来说,带有{}的就是定义,否则就是声明
int sum(int x,int y); //声明

注意

  1. 不要把变量定义放到头文件中,容易重复定义。
  2. 尽量用static定义变量,把作用域限制为当前文件。

总结

在C++程序设计中,为了让多个文件访问相同的变量,C++区别了声明和定义。
定义(definition)用于为变量分配存储空间,还可以指定初始值。在程序中一个变量只能有一个定义。
声明(declaration)用于向程序声明变量的类型和名字。定义同样也是声明。
通过extern可以声明变量而不定义,不分配存储空间。声明是为了说明变量在其他地方有定义。程序中变量可以声明多次。
只有定义才可以初始化,因为只有定义才分配存储空间。

本文标题:C++声明和定义

文章作者:admin

发布时间:2017年12月14日 - 21:12

最后更新:2017年12月15日 - 13:12

原始链接:https://kxp555.coding.me/2017/12/14/C++声明和定义/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。