有章法的学习c++(7)变量
2016-09-08 18:54
197 查看
变量(variable)提供一个具名的、可供操作的存储空间。
c++中每个变量都具有其数据类型,数据类型决定着变量所占存储空间的大小和布局方式、该空间能存储的值的范围,以及变量所能参与的运算。
变量的定义
首先是类型说明符,随后紧跟变量名列表。变量名之间以逗号隔开。
定义时,还可以为变量赋初值(初始化)。
例子:int a;
int a = 10;
默认初始化
如果定义变量的时候没有赋初始值,则变量被默认初始化。
默认值到底是什么由变量类型决定,也有变量的位置决定。
如果变量未被显示初始化,则它的值由定义的位置决定。定义与任何函数体之外的初始值为0,定义在函数体之内的初始值为1。
看例子:
结果:
变量声明和定义的关系
为了可以把程序拆分成多个逻辑部分来编写,c++语言支持分离式编译(separate compilation)机制,该机制允许将程序分割成若干个文件,每个文件可以被独立编译。
为支持分离式编译,c++将声明和定义分离开来。
声明使得名字为程序所知,定义则是为了创建与名字关联的实体。
通过声明,可以使得文件之间共享代码。
如果想声明一个变量而不是定义它,需要加上extern关键字。
例子:extern int a;//声明
int a;//声明和定义
如果给由extern关键字标记的变量赋了初值,那么就抵消了extern的作用
extern int a = 3;//声明和定义
标识符
数字字母下划线组成
必须由数字字母开头
大小写敏感
无长度限制
名字的作用域
作用域是程序的一部分,在其中名字有特定的含义。c++语言中大多数作用域都一花括号分隔。
同一个名字在不同的作用域中可能指向不同的实体。
名字的有效区域始于名字的声明语句,结束于作用域的末端。
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++语言中大多数作用域都一花括号分隔。
同一个名字在不同的作用域中可能指向不同的实体。
名字的有效区域始于名字的声明语句,结束于作用域的末端。
相关文章推荐
- C/C++学习笔记:指向类成员变量的指针
- 学习c++:获得函数私有变量
- C++学习笔记一 变量与基本类型
- 【C++基础学习】关于C++静态成员函数和变量
- 【C++基础学习】关于C++静态成员函数和变量
- C++学习体会--变量,指针,引用
- C++学习第5篇-变量范围及其他数据类型
- [C++再学习系列] 变量与声明时初始化
- C++学习笔记(二)——变量和基本类型
- C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组
- C++ 学习心得(常量与变量)
- C/C++中关于地址、指针和引用变量的学习笔记(四) : 函数
- C/C++中关于地址、指针和引用变量的学习笔记(三) : 结构
- [C++再学习系列] 变量的声明、定义与extern关键字
- C/C++中关于地址、指针和引用变量的学习笔记(八) : 命令行参数
- c++学习笔记:void*变量,在函数内必须要明确变量类型
- C/C++中关于地址、指针和引用变量的学习笔记(二) : 数组
- C/C++中关于地址、指针和引用变量的学习笔记(六) : const和void
- C++学习:Calc的赋值问题解决了,解决方法:先刷新控件值至相应变量
- 【C++ 学习笔记】 变量转换