当前位置: 首页 > news >正文

C语言| 局部变量、全局变量

重点掌握[局部变量] [全局变量]!
[寄存器] 在CPU内部存储数据的区域,是CPU的组成部分,用来暂时存放参与运算的数据和运算结果。(和内存比,存储的数据要少得多)

【局部变量】
[局部变量]定义在函数内部的变量,只在本函数内有效。
用{大括号}限定的,只在大括号内有用,执行完,局部变量马上就会被释放掉。
所以,不同函数中,可以定义同名的局部变量。
复合语句,就是用大括号{ }括起来的多个语句。

【全局变量】

[全局变量]定义在函数外部的变量。
1 可以被整个C程序中所有的函数所共用。
2 作用范围:从定义的位置开始,一直到整个C程序结束。
所以根据定义位置的不同,全局变量的作用范围不同。

在一个函数中,可以使用本函数的局部变量,可以使用有效的全局变量。
[注] 全局变量和局部变量的名字,不能设置一样的!

【系统分配空间,初始化】

局部变量,在栈中分配存储空间。
全局变量,在静态存储区中分配空间。
只要是在静态存储区中分配,如果未初始化则系统都会自动将其初始化为0。
所以,全局变量未初始化,则系统自动将它初始化为0。

不建议使用全局变量的原因:
1 全局变量在程序的整个执行过程中都占用存储单元。
2 全局变量降低了函数的通用性
(自定义函数使用了全局变量,就不能重复使用了,要考虑全局变量有没有和其他文件的变量名重复)
3 过多的全局变量会导致程序出错,逻辑混乱。
4 在同一个程序中,全局变量和局部变量同名,会导致在局部变量的作用范围内,全局变量失效。

在程序设计中,划分模块要求模块的功能单一,对其他模块的影响要尽量小。

http://www.dtcms.com/a/186808.html

相关文章:

  • Linux 详解inode
  • 各类大豆相关数据集大合集
  • 大模型的Lora如何训练?
  • 停车四柱液压举升机 2.0 版技术白皮书
  • Spark处理过程-转换算子和行动算子(一)
  • DocsGPT 远程命令执行漏洞复现(CVE-2025-0868)
  • C# 使用HttpClient下载文件
  • ​Spring Boot 配置文件敏感信息加密:Jasypt 实战
  • 深入了解 gmx_RRCS:计算原理、操作步骤及输出文件解析
  • 【TTS学习笔记】:语音合成领域基本术语
  • 二叉树路径总和
  • 【vue】全局组件及组件模块抽离
  • .NET 在鸿蒙系统上的适配现状
  • 1.5 连续性与导数
  • SnowAdmin - 功能丰富、简单易用的开源的后台管理框架,基于 Vue3 / TypeScript / Arco Design 等技术栈打造
  • 系统架构-通信系统架构设计
  • Java大师成长计划之第19天:性能调优与GC原理
  • [ linux-系统 ] 自动化构建工具makefile
  • 如何通过DNS解析实现负载均衡?
  • 2025 盘古石杯初赛 wp
  • Python集成开发环境之Thonny
  • Ubuntu中配置【Rust 镜像源】
  • 今日行情明日机会——20250512
  • 六、STM32 HAL库回调机制详解:从设计原理到实战应用
  • 风车OVF镜像:解放AI开发限制的Ubuntu精简系统
  • 如何在 Bash 中使用 =~ 操作符 ?
  • linux内存管理
  • 【HarmonyOS 5】鸿蒙App Linking详解
  • 理解多智能体深度确定性策略梯度MADDPG算法:基于python从零实现
  • 方形铝壳电芯自动分选机:精准分档与高效生产的创新实践