C语言中的常变量
https://www.bilibili.com/video/BV1vR4y1H7MY/?p=11
用 const 关键字修饰的变量,称为常变量。// c const // c++ const
变量:可读可写;
常量:只可读不可写;
常变量:?
示例:
#include<stdio.h>
int g_max = 10; //全局变量
int main()
{
int x = 0;
int sum = 20;
g_max = 100; //普通全局变量可以被赋值
printf("g_max = %d \n", g_max);
return 0;
}
g_max = 100
也就是说普通全局变量可以被修改,但加入 const 修饰全局变量以后则不能对全局变量再进行赋值修改,否则发生编译报错:
对局部变量 sum 加了 const 修饰之后,也是一样:
原因就是加了 const 修饰之后,就由变量变成了常变量,可以读取值,但不能修改值。
const 也可以加到类型声明后面:
像上面“int const x = 0;”。
一般写成“int const x = 0;”这种 const 在类型声明后面的形式。
#include<stdio.h>
const int g_max = 10; //全局常变量
int main()
{
int const x = 0; //局部常变量
const int sum = 20; //局部常变量
return 0;
}
为什么叫做“常变量”?
说它是常量,因为定义的是变量;说它是变量,它的值又不容许被改变。
所以就叫它“常变量”。
VS2019 和 VS2022 中默认局部变量未进行初始化编译报错