C语言中static和volatile关键字的作用

server/2025/2/14 5:06:58/

static 作用:
1 修饰局部变量:表示该局部变量只初始化一次,地址空间不释放
2 修饰全局变量:表示该全局变量只在此文件中使用,别的文件无法访问此变量
3 修饰函数: 表示修饰的函数只在此文件中使用,别的文件无法使用该函数

void fun()
{static int data1 = 0;int data2 = 0;data1++;data2++;printf("data1 = %d",data1);printf("data2 = %d",data2);return;
}int main()
{fun();fun();fun();return;
}

可以得到结果,data1的值分别为 1,2,3.而data2的值为1,1,1.因为每次调用data2都从0开始,data1只有第一次是0,后面每次调用都加一。

volatile作用:
修饰局部变量,告诉编译器,修饰的变量值可能在中断中修改,需要从变量地址取值。一般中断中会修改的全局变量使用volatile修饰。


http://www.ppmy.cn/server/37453.html

相关文章

Python实现类似于Qt的信号、槽

使用Python实现一个类似Qt的信号、槽函数的class class Signal:def __init__(self, *arg_types):self.__subscribers []self.__arg_types arg_typesdef connect(self, func):self.__subscribers.append(func)def disconnect(self, func):try:self.__subscribers.remove(func)…

嵌入式开发常见概念简介

目录 0. 《STM32单片机自学教程》专栏总纲 API Handle(句柄) 0. 《STM32单片机自学教程》专栏总纲 本文作为专栏《STM32单片机自学教程》专栏其中的一部分,返回专栏总纲,阅读所有文章,点击Link: STM32单片机自学教程-[目录总纲]_stm32 学习-CSD…

Vue的省份联动

Vue的省份联动 一、安装依赖库 npm install element-china-area-data -Snpm install element-ui --save全局使用elemntui组件库 import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css;Vue.use(ElementUI);二 、代码如下 <template><div…

如何搜索空文件夹_名称为(纯或含)中/英/数/符

首先&#xff0c;需要用到的这个工具&#xff1a; 度娘网盘 提取码&#xff1a;qwu2 蓝奏云 提取码&#xff1a;2r1z 打开工具&#xff0c;切换到批量文件复制版块&#xff0c;快捷键Ctrl5 点击右侧的搜索添加 设定要搜索的范围、指定为文件夹、包括子目录&#xff0c;勾选…

关于2024年东北教育装备展示会(沈阳)参展通知

2024年东北教育装备展示会 邀请函 数字赋能新时代 共创教育新未来 时间&#xff1a;2024年6月28-30日 地点&#xff1a;沈阳国际展览中心&#xff08;沈阳市苏家屯-会展路9号&#xff09; 展览面积&#xff1a;30000平方米 参展商数&#xff1a;260家 预计观众&#xff1…

leetcode39-Combination Sum

题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取…

二维码怎么播放视频?视频快速转二维码的方法

现在分享视频时&#xff0c;很多人都会采用视频生成二维码的方式&#xff0c;来让其他人通过扫描二维码查看视频。选择使用这种方式可以让更多人同时扫码查看视频&#xff0c;不需要传输或者下载存储&#xff0c;提升视频传播的速度&#xff0c;而且用户的体验效果更好。 那么…

docker学习笔记3:VmWare CentOS7安装与静态ip配置

文章目录 一、安装CentOS71、下载centos镜像2、安装二、设置静态ip三、xshell连接centos本专栏的docker环境是在centos7里安装,因此首先需要会安装centos虚拟机。 本篇博客介绍如何在vm虚拟机里安装centos7。 一、安装CentOS7 1、下载centos镜像 推荐清华源,下载如下版本 …