C语言进阶--const和volatile

const修饰的变量是只读的,本质还是变量

const修饰的局部变量在站上分配空间

const修饰的全局变量在全局数据区分配空间

const只在编译期有用,在运行期无用

注意:const修饰的变量不是真的常量,它只是告诉编译器该变量不能出现在赋值符号的左边;

 

 

小结:

const使得变量具有只读属性

const不能定义真正意义上的变量

const将具有全局生命期的变量存储于只读存储区

volatile强制编译器减少优化,必须每次从内存中取值

 

const---->标准C编译器---->const变量:只读,值可改变

        ----->现代C编译器---->const全局变量:只读,值不可改变

          ----->const局部变量--->static局部变量:只读,值不可改变

                   ---->普通局部变量:只读,值可改变

 

posted @ 2023-03-19 20:33  ys_nana  阅读(36)  评论(0)    收藏  举报