多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 大纲 <table> <thead> <tr> <th colspan="2">类型</th> <th colspan="3">作用域</th> <th>生命周期</th> <th>默认初始化</th> </tr> <thead> <tbody> <tr> <td rowspan="2">局部变量</td> <td>普通局部变量</td> <td rowspan="2">局部作用域</td> <td rowspan="2" colspan="2">语句块</td> <td>局部生命期</td> <td>不确定值</td> </tr> <tr> <td>静态局部变量</td> <td rowspan="3">静态生命期</td> <td rowspan="3">0,只初始化一次</td> </tr> <tr> <td rowspan="2">全局变量</td> <td>普通全局变量</td> <td rowspan="2">文件作用域</td> <td rowspan="2">定义点->结尾</td> <td>可拓展</td> </tr> <tr> <td>静态全局变量</td> <td>不可拓展</td> </tr> <tbody> </table> ## 一.变量的定义和初始化 1. 定义变量的一般语法格式(存储类型可省) ```c++ 存储类型 数据类型 标识符; //只定义 存储类型 数据类型 标识符 = 初始化值或序列; //定义同时初始化 ``` > 对于较复杂的类型,其定义可能还有一些其他的修饰符,这些修饰符不表示类型,只是声明符的一部分。 2. 可以同时定义多个相同类型的变量,但 **每个变量只能分别赋值,不能同时赋值** 。 ```c++ int test1 = 1,test2 = 1;//正确 int a = b = 1;//错误 ``` 3. 修饰符只对一个变量起作用。 ```c++ int *test1,test2;//其中test1为指针变量,test2不是指针变量。 ``` ## 三.赋值与初始化的区别 1. 初始化的含义是创建变量时赋予其一个初始值。 2. 赋值的含义是把对象的当前值擦除,以一个新值来替代。