您的位置:首页 > 编程语言 > C语言/C++

有章法的学习c++(7)变量

2016-09-08 18:54 197 查看
变量(variable)提供一个具名的、可供操作的存储空间。

c++中每个变量都具有其数据类型,数据类型决定着变量所占存储空间的大小和布局方式、该空间能存储的值的范围,以及变量所能参与的运算。

变量的定义

首先是类型说明符,随后紧跟变量名列表。变量名之间以逗号隔开。

定义时,还可以为变量赋初值(初始化)。

例子:int a;

int a = 10;

默认初始化

如果定义变量的时候没有赋初始值,则变量被默认初始化。

默认值到底是什么由变量类型决定,也有变量的位置决定。

如果变量未被显示初始化,则它的值由定义的位置决定。定义与任何函数体之外的初始值为0,定义在函数体之内的初始值为1。

看例子:

#include <iostream>
using namespace std;
int a;
int main()
{
int b;
cout << "a:" << a <<endl;
cout << "b:" << b <<endl;
return 0;
}


结果:



变量声明和定义的关系
为了可以把程序拆分成多个逻辑部分来编写,c++语言支持分离式编译(separate compilation)机制,该机制允许将程序分割成若干个文件,每个文件可以被独立编译。

为支持分离式编译,c++将声明和定义分离开来。

声明使得名字为程序所知,定义则是为了创建与名字关联的实体。

通过声明,可以使得文件之间共享代码。

如果想声明一个变量而不是定义它,需要加上extern关键字。

例子:extern int a;//声明

int a;//声明和定义

如果给由extern关键字标记的变量赋了初值,那么就抵消了extern的作用

extern int a = 3;//声明和定义

标识符

数字字母下划线组成

必须由数字字母开头

大小写敏感

无长度限制

名字的作用域
作用域是程序的一部分,在其中名字有特定的含义。c++语言中大多数作用域都一花括号分隔。

同一个名字在不同的作用域中可能指向不同的实体。

名字的有效区域始于名字的声明语句,结束于作用域的末端。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息