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

【C】局部变量和全局变量及同名情况

在局部变量作用的块或者函数内,局部变量覆盖全局变量,对变量的操作只是局部变量,不对全局变量起作用。在块或者函数外部,全局变量才有作用。

定义全局变量或者静态变量tmp[10]

tmp[10]未初始化或者tmp[10] = {0},则tmp内容都是0

tmp[10] = {1},只有tmp[1]是1,后面都是0

定义局部变量tmp[10]

tmp[10]未初始化,则tmp内容都是随机数

tmp[10] = {0},则tmp内容都是0

tmp[10] = {1},只有tmp[1]是1,后面都是0

类型

作用域

生命周期

局部变量

某个函数

某个函数

静态局部变量

某个函数

整个工程

静态全局变量

单个文件

整个工程

全局变量

整个工程

整个工程

作用域相同的变量,不能命名相同,会报错。作用域不同的变量,可以命名相同,使用时遵循就近原则。也就是局部变量可以覆盖全局变量。

C语言中,如果同名宏的定义完全相同,则没问题。如果定义的内容不同,则报错,或者告警。告警的话,使用时遵循就近原则。

全局或者静态变量初始化必须是常量表达式,局部变量初始化可以是变量。

http://www.jsqmd.com/news/617564/

相关文章:

  • Mac系统下Jmeter压力测试工具从零配置到实战:JDK8安装+汉化+电商压测案例
  • 浏览器原生 View Transitions API:零库实现丝滑页面过渡
  • 零基础5分钟上手:Ollama+LFM2.5-1.2B-Thinking本地AI写作助手快速部署指南
  • Unity相机的Fov运行时被自动改变值,手动无法调整
  • OpenClaw调试技巧:Qwen3-14B任务执行失败的根本原因分析
  • 基于File-Based App开发MVP项目仿
  • electron系列1:Electron不是玩具,为什么桌面应用需要它?
  • ComfyUI ControlNet Aux预处理器:如何用45种AI工具突破图像控制的极限?
  • 艾默生EMU10-DY电源模块
  • 泛微Ecology9全栈二开实战:从零构建增删改查模块(后端Action+前端Ecode)
  • 双非逆袭上岸985~
  • 5分钟学会BabelDOC:让专业文档翻译不再丢失格式的终极指南
  • Lite-Avatar与GitHub Actions的CI/CD实践
  • 如何用JPEXS Free Flash Decompiler轻松反编译SWF文件:完整指南
  • 算力的本质:从 GPU 到“算力系统”,一文讲透大模型背后的硬件逻辑
  • 【C++】设计一个单例基类,用户使用基类提供 getInstance() 来获取派生类实例化的单例对象
  • 如何让OBS视频成为Windows应用的标准摄像头?OBS-VirtualCam深度解析
  • 3种颠覆性方式重新定义AI与浏览器的对话边界
  • 私有云部署实操:从零搭建企业内部云平台
  • 汽车电子EMC测试:RE试验与BCI整改实战解析
  • Qwen3.5-9B多卡并行教程:DeepSpeed Zero-3模型切分部署
  • Windows版Poppler终极安装指南:5分钟搞定PDF处理工具
  • Windows 11 24H2 LTSC 如何三步恢复微软商店?让精简系统重获完整应用生态的终极方案
  • StructBERT中文模型实战:GPU算力高效利用——单卡3090实测并发16路语义匹配
  • linux起源与哲学
  • 如何快速掌握PlugY:暗黑破坏神2单机玩家的终极生存指南
  • 温度参数调优:OpenClaw+Qwen3-4B不同任务下的creativity设置
  • 低成本AI部署新选择:Gemma-3-270m适配Jetson Nano边缘设备实测
  • 互联网大厂为啥不把研发迁到二三线城市?
  • OpenClaw白话讲解:AI如何从会聊天变成会干活