C语言中的const变量
在c语言中,以const关键字声明的对象,其值不能通过赋值或者递增,递减来修改,所以要一开始初始化变量;
const修饰的变量不是常量,本质上是 常变量;
const int tmp = 10;//这里不管tmp是全局的,还是局部的
int arry[tmp] = {1, 2, 3};//都会报错,“表达式必须包含常量值”
const修饰的全局变量,在常量区(.rodata段)分配内存空间,不能通过变量地址来修改值;const修饰的局部变量在栈区分配内存空间,可以通过变量地址来修改值;
c语言的const修饰全局变量 默认是外部链接的(外部链接:其他源文件 可以使用)。
————————————————
原文链接:https://blog.csdn.net/u014157109/article/details/115350923