C++-------变量
变量提供一个具名的,可供程序操作的存储空间。
1.变量的定义
形式:类型说明符 变量名(可以跟多个变量,变量之间用逗号分隔);
可以定义时给每个变量赋初始值。
当一个变量定义以后,就可以被立即使用,因此可以使用前面定义的变量,给后面定义的变量使用。
综上的说明,看例子
例1: int a,b,c;
例2: int a=1,b=a+1,c=3,d,e=4;
2.初始值
当定义一个变量(对象),给定一个值,我们可以说这个变量(对象)被初始化(initialized)了。
初始化一个变量或对象可以使用任意复杂的表达式。
初始化与赋值在C++中是两个完全不同的操作,注意二者的区别。
列表初始化是C++11新标准的一部分,是用一对花括号来初始化变量。
在内置类型变量使用列表初始化时,且初始值存在丢失风险时,则编译器将报错。
默认初始化:当定义一个变量没有指定初始值,则变量被默认初始化,此时变量被赋予了“默认值”。
默认值是什么,有变量的类型和位置决定。
定义于任何函数体之外的内置类型的变量被初始化为0;
定义于任何函数体之内的内置类型的变量将不被初始化,一个未被初始化的内置类型的变量的值是未定义的,试图拷贝或以其它形式访问该值将引发错误。
类的对象的初始化,将在后面说明。
综上的说明,看例子。
例1:
int a = 0;
int a={0};
int a{0};
int a(0);
-----long double ld = 3.1415926536;
int a{ld}; // 报错
int a(ld),b=ld; // 正确
3.变量的声明和定义
为了支持分离式编译,C++语言将声明和定于区分开。
声明(declaration)使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。
定义负责创建与名字关联的实体。
声明在形式上与定义类似,类型和名字,除此之外,定义还申请了存储空间,也可能为变量赋初始值。
如果变量的前面加关键字extern,则显式的说明是一个声明,如果又赋了初始值,则抵消了extern的作用。
综上的说明,看例子。
例1:
extern int i; //声明
int j; //声明并定义
extern int m=0; //定义
4.标识符,自行领会。
5.作用域,自行领会。
说明:读书笔记,C++ Primer 第五版 第二章
做一个简单的人,踏实而务实。不沉溺幻想。不庸人自扰