嵌入式八股,全局变量和局部变量的区别

server/2025/2/23 10:40:39/

1. 作用域

全局变量

  • 定义位置:在所有函数之外定义。

  • 作用域:全局变量在(程序块)整个程序范围内都可访问,包括所有函数。

局部变量

  • 定义位置:在函数内部或代码块内部定义。

  • 作用域:局部变量仅在定义它的函数或代码块内有效,外部无法访问。

2. 生命周期

全局变量

  • 生命周期:全局变量的生命周期从程序启动开始,到程序结束结束。

  • 存储位置:存储在全局数据区(或静态数据区),即使在函数调用结束后,全局变量仍然存在。

局部变量

  • 生命周期:局部变量的生命周期仅在定义它的函数或代码块({}包裹的部分)执行期间有效。

  • 存储位置:局部变量通常存储在栈上,函数调用结束后,局部变量被销毁,占用的内存被释放。


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

相关文章

rsync使用详解

rsync的使用场景 rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。 安装rsync yum install rsync rsync -a参数的作用 rsync 是一个功能强大的文件同步工具,-a 参数是其常用选项之一,主要用于归档模式(arch…

Qt ModbusTCP和ModBusRTU读写数据

文章目录 ModbusTCP和ModBusRTU 的区别ModbusTCP添加模块ModBus读写 ModBusRTU添加模块 ModbusTCP和ModBusRTU 的区别 Modbus RTU 和 Modbus TCP 是 Modbus 协议的两种不同实现方式,主要区别如下: 通信介质 Modbus RTU:基于串行通信&#xf…

1200沿指令和取反指令的应用。

以下是关于西门子S7-1200 PLC中沿指令(边沿检测指令)和取反指令的详细解析及应用示例,结合其工作原理、编程方法和典型场景: 一、沿指令(边沿检测指令) 1. 功能说明 沿指令用于检测信号状态的变化&#x…

【AI时代】可视化训练模型工具LLaMA-Factory安装与使用

文章目录 安装训练使用 安装 官方地址:https://github.com/hiyouga/LLaMA-Factory 创建虚拟环境 conda create -n llama-factory conda activate llama-factory安装 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip in…

机器学习课程的常见章节结构

以下是机器学习课程的常见章节结构,结合了搜索结果中的信息: 1. 机器学习基础知识 机器学习的定义与分类 监督学习、无监督学习、半监督学习、强化学习 机器学习的产生与发展 机器学习的历史与现代应用 经验误差与过拟合 过拟合与欠拟合的概念及解决…

edge浏览器将书签栏顶部显示

追求效果,感觉有点丑,但总归方便多了 操作路径:设置-外观-显示收藏夹栏-始终

Mac【卸载 Python】 - 3.12.2

一、若使用官方安装包安装 1. 删除 Python 框架 Python 官方安装包会将 Python 安装到 /Library/Frameworks/Python.framework/Versions/3.12 目录下。你可以在终端中使用以下命令删除该目录: sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.12 …

【Java 优选算法】位运算

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 基础位运算符: &: 有 0 就是 0 | : 有 1 就是 1 ^ :相同为0,相异为1(无进位相加) 1.给一个数 n, 确定它的二进制表示中的第x位是 0 还是 1 . 使用公式(n >> x) &…