目录
- 定义变量
- 使用变量
- 全局变量与局部变量
- 作用域和生存期
- 存储类
- typedef
- const符号常量
- C++11的变量初始化列表
定义变量
1、存储类 类型名 变量名=<初值表达式>
2、存储类
auto,register,static,extern
3、类型名
数据类型,自己定义的或系统存在的
4、变量名
用户自定义的标识符,
5、比如
int x=99;
使用变量
全局变量与局部变量
在函数定义、类定义、程序块之外声明的为全局变量
在函数定义、类定义、程序块之内声明的为局部变量
作用域和生存期
1、作用域是变量名可以代表该变量存储空间的范围
生存期是一个变量被声明县城分配了内存开始,直到该变量声明语句失效,它占用的内存空间被释放为止。
2、全局变量生存期从被声明到程序结束,注意不是从程序开始处。
3、作用域可能小于生存期,
#include <iostream>
using namespace std;
int main(){
int x=10;
if (x>5){
int x=8;
cout<<x<<endl;
}
cout<<x<<endl;
}
先输出8,再输出10
存储类
1、auto 自动变量,声明时的默认存储类别,占用存储空间的分配与释放由系统自动完成。
2、register 寄存器变量,可能以寄存器作为存储空间,存取速度更快,但只是建议,在寄存器够用的情况下实施。
3、static 静态变量,从声明到程序终止,一个类的静态变量可以在多个实例中共享。
4、extern 外部变量 不必分配内存,因为这个变量已经在其它程序中声明,分配内存了,这里使用它只是表示,需要用到其它文件或程序中声明的这个外部变量。
typedef
1、格式
typedef 已有类型 新类型名
typedef double dbnum;
typedef int integer;
等等
2、相当于数据别名
const符号常量
const 类型名 符号常量名=初始值表达式
C++11的变量初始化列表
使用{}来初始化变量
#include <iostream>
using namespace std;
int main(){
int x{19};
if (x>5){
int x{8};
cout<<x<<endl;
}
cout<<x<<endl;
}