static和volatile关键字的作用

news/2025/1/12 19:07:54/

1.static

修饰局部变量时:

static用于修饰局部变量时,他的生命周期由随着其所在函数的开始而开始,函数调用结束而结束变成了由整个程序也就是整个进程开始时而开始,进程结束时其生命周期也随之结束。

修饰全局变量时:

static修饰全局变量时,他的作用域由整个工程都可以使用变成了只能在其所定义的模块中使用,例如我们在将许多个编写好的.c文件编译生成一个可执行文件时,如果这些.c文件中有全局变量定义的名字是相同的,这时候编译就会报错,因为最终要生成的可执行文件不知道要去使用哪个变量。如果在定义这个全局变量时加上static关键字,则表明此变量只作用在其定义的.c文件中,不可以在其他的文件中使用。

修饰函数时:

作用于修饰全局变量时相同,总的来说就是避免变量的名字相同。

2.volatile

volatile关键字的作用就是告诉编译器该变了是易变得,在编译时不能进行优化,主要使用在arm编程中,防止要读的寄存器中存放的数据由于硬件改变而随之改变后,编译器还按照其优化方式去编译而导致的数据错误。


http://www.ppmy.cn/news/1003776.html

相关文章

pycharm中 cv2. 无函数提示跳出解决方法

1、找到当前解释器安装目录 例如: 2、进入D:\Python37\Lib\site-packages\cv2文件,进入cv2文件夹: 找到cv2.pyd, 把cv2.pyd复制一份,放到上层文件夹下,即site-packages下 3、重启pycharm,就会有函数提示

MySQL的索引使用的数据结构,事务知识

一、索引的数据结构🌸 索引的数据结构(非常重要) mysql的索引的数据结构,并非定式!!!取决于MySQL使用哪个存储引擎 数据库这块组织数据使用的数据结构是在硬盘上的。我们平时写的代码是存在内存…

pygame示例滚动的气球

pygame示例滚动的气球 使用pygame实现一个滚动的气球。 import sys, pygame # 将有限的常量和函数集放入脚本的全局名称空间中 from pygame.locals import *# 初始化pygame模块 pygame.init() # 创建图形窗口,pygame把图形表示为Surface对象 size width, height …

SpringBoot 集成 Redis

本地Java连接Redis常见问题: bind配置请注释掉保护模式设置为noLinux系统的防火墙设置redis服务器的IP地址和密码是否正确忘记写访问redis的服务端口号和auth密码 集成Jedis jedis是什么 Jedis Client是Redis官网推荐的一个面向java客户端,库文件实现…

ASP.NET Core学习路线图

说明 1. 先决条件 - [C#](https://www.pluralsight.com/paths/csharp) - [Entity Framework](https://www.pluralsight.com/search?qentity%20framework%20core) - [ASP.NET Core](https://www.pluralsight.com/search?qasp.net%20core) - SQL基础知识 2. 通用开发技能 -…

[比赛简介]Feedback Prize - Predicting Effective Arguments

比赛链接 比赛简介 本次比赛的目标是将学生写作中的论证元素分类为“有效(effective)”、“充分(adequate)”或“无效(ineffective)”。您将创建一个基于代表美国 6-12 年级人口的数据进行训练的模型,以最大程度地减少偏差。从本次比赛中得出的模型将有助于为学生…

python pandas 排序

Series的排序: Series.sort_values(ascendingTrue, inplaceFalse) 参数说明: ascending:默认为True升序排序,为False降序排序inplace:是否修改原始Series DataFrame的排序: DataFrame.sort_values(by, as…

vue 图片回显标签

第一种 <el-form-item label"打款银行回单"><image-preview :src"form.bankreceiptUrl" :width"120" :height"120"/></el-form-item>// 值为 https://t11.baidu.com/it/app106&fJPEG&fm30&fmtauto&…