首先,我们要明确常量以及变量的定义,在理解这两个定义时,我们可以从生活出发.回想一下,在我们的日常生活中,是不是有些值是不会变的,比如圆周率,我们的身份证号码,血型等等,但有些值是会发生变化的,比如我们的年龄,体重,工资等等.
在我们所要学习的C语言中,不变的值就用常量的概念来表示,而会发生变化的值就用变量来表示.
通常我们在C语言中用来定义变量的方法,通过例子先来了解一下.
int age = 24; //int 为整型
floa weight = 15.5f; //float 为单精度浮点型
char ch = 'w'; // char 为字符型
通常情况下,在C语言中,变量分为局部变量和全局变量两种,这里我们来详细说一下关于局部变量与全局变量的区别.
局部变量作用域是当前代码块.生命周期是当前代码块.
而全局变量作用域是整个工程(也就是指我们在一个新建项目中所创建的所有.C文件),而生命周期是一直到整个程序执行结束.
注意:作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效的/可用的,而限定这个名字可用性的范围就是这个名字的作用域.
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段.
接下来看个例子:
#include <stdio.h>
int global = 2019; //这里定义了一个全局变量
int main(){
int lobal = 2018; //这里定义了一个局部变量
int global = 2020; //这里我们又定义一个局部变量,那么这个global会不会有问题呢?
printf("global = %d\n", global);
return 0;
}
在上面这个程序中我们定义的局部变量global其实是没什么问题的,当我们定义的局部变量与全局变量重名时,局部变量优先使用.
最后我们来看常量,C语言中的常量分为以下几种:
(1)字面常量
(2)const 修饰的常变量 //关键字修饰
const int x = 20; //变量x值不可修改
(3)#define 定义的标识符常量
(4)枚举常量 //enum 批量定义常量,定义好之后无法修改.