C++声明和定义
来源:互联网 发布:get it beauty2016 编辑:程序博客网 时间:2024/06/04 01:31
C++程序通常由许多文件组成,为了让多个文件访问相同的变量,C++区分了声明和定义。
变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过extern关键字声明变量而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern:
extern int i; // declares butdoes not define i
int i; // declares and defines i
extern声明不是定义,也不分配存储空间。事实上,它只是说明变量在程序的其他地方。程序中变量可以声明多次,但只能定义一次。
如果声明有初始化式,那么声明可以被当作是定义,即使声明标记为extern:
extern double pi=3.14;//definition
double pi; //error, redefinition of pi
任何在多个文件中使用的变量都需要有与定义分离的声明。在这种情况下,一个文件含有变量的定义,使用该变量的其他文件包含该变量的声明。
具体使用方法:
//file1.cpp
#include <iostream>
using namespace std;
extern int i; //这是一个声明,告诉编译器变量i的定义有可能是在其他源文件中,即使本文件中没有i的定义,你也不要报错。
void main()
{
extern int i; //同样是对i的声明,作用与上面的声明完全一样,说明声明可以存在多个,实际上这两个声明只要任意一个就可以了。但是两个声明语句如果一个都没有,编译器就会认为变量i没有定义,会报错。
i=0; //赋值语句,给变量i一个新值,变量赋值前必须要已经定义了,如果不存在file2文件中的定义语句,虽然不会出现编译错误,但是链接会有错。
cout<<i;
}
//file2.cpp
int i;//首先是一个定义,而且是一个没有初始化的定义(不过实际上全局变量i被默认初始化为0),变量i被定义在file2源文件中
- c语言定义和声明
- C语言定义和声明
- C语言中定义和声明
- C语言之声明和定义
- C变量的声明和定义
- C++Primer读书笔记(1)-声明和定义
- C 语言变量的声明和定义
- C语言中变量声明和定义
- C变量的声明和定义
- C语言中的定义和声明
- c语言变量的声明和定义
- C变量的声明和定义
- C语言中的声明和定义
- C语言定义和声明区别
- C变量的声明和定义
- C语言中的声明和定义
- C++:如何声明和定义成员函数
- 声明和定义的区别(C++)
- Leetcode[53]分治算法求解最长子串和问题
- 随机
- 浅谈前端项目管理
- 网站优化--YaHoo Web优化的14条法则
- 128. Longest Consecutive Sequence
- C++声明和定义
- react中的ajax封装
- Mybatis代码自动生成-mybatis-generator的使用
- python库之requests
- js中 arguments 对象
- CentOS 7 安装 Nginx 1.10.1.tar.gz
- 使用Markdown制作简历
- Neutron如何与Nova-Compute进行交互
- Logistic Regression分类器原理