变量的命名规则
只能由字母(包括大写和小写)、数字和下划线(
_
)组成。
不能以数字开头。
长度不能超过
63
个字符。
变量名中区分大小写的。
变量名不能使用关键字。
(变量名尽量能够一望便知其意)
全局变量和局部变量
局部优先原则
![](https://img-blog.csdnimg.cn/ff60904d02284178be64eca97b74948c.png)
如上当变量名称相同,程序遵循局部优先的原则
变量的作用域和生命周期
局部变量的作用域是变量所在的局部范围。
全局变量的作用域是整个工程。
生命周期同理当变量还在其作用域内能够使用(未被销毁)就还活着,出了作用域,生命周期结束,这个变量就死了
例:局部变量a在小花括号内定义,当在a作用域外(小花括号外)使用a就会出现未定义标识符a的错误,说明a已经被销毁
![](https://img-blog.csdnimg.cn/3de0f9c959d84415973e6386ba04b3c5.png)
例:全局变量b的生命周期是整个程序,所以b可以在程序的任何地方使用
![](https://img-blog.csdnimg.cn/cadb2b0f0d154c9a91e85377a506e083.png)
例: 甚至在用extern声明之后,就可以使用另一个源文件中的全局变量
![](https://img-blog.csdnimg.cn/897fd0493e7a4a54a16ecabb91a1e6d3.png)
常量
变量顾名思义,就是可以改变的量,常量那理所当然就是不能够改变的量
字面常量
如图程序中就是一些字面常量,并无意义这里就不在赘述
![](https://img-blog.csdnimg.cn/fff47281bd064d28af5329d7752d2a6b.png)
const修饰的常变量(实质还是变量)
如图正常的变量是可以改变值的,但在由const修饰了之后,便不能够改变了(具有了常量的性质)
至于为什么说他的本质还是变量
如图在[]中应是常量和常量表达式,但n在被const修饰之后,仍然会报错,所以n实际上本质还是变量,只是值不能再被更改
(在支持c99的编译器中,是支持变长数组这一概念的,即[]内可以是变量,但前提是不能初始化)
#define定义的标识符常量
如图用#define定义Max为常量
当然不建议随便用define定义,中国有句古话叫做,随意设置常量等于随地大小便
枚举常量(enum)
生活中可以枚举出来的东西如,一个星期有七天,性别,都可以用枚举常量