初识变量的作用域和生命周期
作用域(scope):程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可能性的代码范围就是这个名字的作用域。(换句话说,就是这个变量在哪里可以使用/起作用,哪里就是它的作用域)
1、局部变量的作用域:就是变量所在的局部范围
2、全局变量的作用域:整个工程
int g_val = 2022; //全局变量
int main() {
printf("1、%d\n", g_val);
printf("hehe\n");
{
printf("2、%d\n", g_val);
int a = 10;
printf("a = %d\n", a);
}
printf("3、%d\n", g_val);
return 0;
}
最后控制台会输入“2023”
生命周期
变量的生命周期:变量的创建和销毁之间的时间段
局部变量的生命周期:进去它所在的局部范围生命开始,出局部范围生命结束
全部变量的生命周期:程序的生命周期
常量
//常量
#define MAX 10000;
int main() {
//1、字面常量
//3.14; //浮点型常量
//10; //整型常量
//'a'; //
//"abcdefg"; //字符串常量
//2、const修饰的常变量:本质上是变量,只不过具有了常属性
//const int num = 10; //num就是常变量 - 具有常属性(不能被改变的属性)
//num = 20;
//printf("num= %d\n", num); //20
//int arr[10] = { 0 };//10个元素
//const int n = 10;
//int arr2[n] = { 0 };//n是变量
//3、#define 定义的标识符常量
int n = MAX;
printf("n = %d\n", n);
return 0;
}
2 .1、左边这个对象被const修饰,被const修饰,意味着这个值不能被修改
2.2、const修饰的常变量:本质上是变量,只不过具有了常属性
4、枚举常量是常量,它的默认值是从0开始的
//性别
enum Sex
{
//这种枚举类型的变量的未来可能取值
//这三种是枚举常量
MALE = 5, //附初值
FEMALE,
SECRET
};
//4、枚举常量-可以一一例举的常量
int main() {
enum Sex s = MALE;
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
return 0;
}
初识字符串
字符串:就是一串字符,用英文双引号括起来的就是一串字符。
"abcde\n";