C语言进阶之const与volatile

    1,const

     const修饰的变量是只读的,它所修饰的变量不能作为左值;

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

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

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

     C语言中的const使得变量具有只读属性

     现代C编译器中的const将具有全局生命周期,变量存储于只读存储区

     const全局变量:只读,值不可改变

     const局部变量:加了static,只读,值不可改变,不加static,值可以改变

     工程应用:

     const修饰函数参数表示在函数体内不希望改变参数的值

     const修饰函数返回值表示返回值不可改变,多用于返回值指针的情形

     2,volatile

       volatile可以理解为编译器警告指示字,告诉编译器每次必须去内存中取变量值,主要修饰可能被多个线程访问的变量,也可以修饰被未知因素更改的变量,在多线程与嵌入式开发中常被使用。

      const volatile int i = 0;

     变量i具有什么特性?这个i是一个只读变量,且不允许编译器对其进行优化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值