C语言之static、volatile 的浅述

本文详细探讨了C语言中static关键字如何影响局部变量的作用域和生命周期,以及volatile关键字如何确保内存可见性和禁止指令重排序。涵盖了静态全局变量、静态函数的限制以及volatile的内存同步特性。
摘要由CSDN通过智能技术生成

static + 局部变量:作用域不变,生命周期从代码块延长到整个文件。

static + 全局变量:生命周期不变,将作用域从这个文件扩展到整个程序(所有相关文件)。

static + 函数     :限制其作用域,其他文件不可再引用该文件里面的静态函数。

c语言中static关键字用法详解_guotianqing的博客-CSDN博客_c static

 volatile:

1、去除缓存,让CPU直接和内存交互,即保证变量的内存可见性。

2、禁止指令重排序,即禁止编译器对代码的顺序进行优化。

volatile 关键字,你真的理解吗? - 知乎 (zhihu.com)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值