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

【C】static

static

1、修饰局部变量:使其变为静态变量,这个局部变量在函数执行完成后不会被释放,而是继续保留在内存里。

2、修饰全局变量:使其只在本文件内部有效,在其他文件不可用。

3、修饰函数:使函数只能在本文件中使用,同时不会与其他文件的同名函数产生干扰。

static变量存储在程序静态区中;

注意:

在h文件中定义变量往往是不允许,经常会编译出错,有以下两种情况:

1、一个main.c文件调用a.h和b.h,a.h中又调用b.h,如果在b.h中定义一个变量,则main.c编译报错重复定义,通过h中的#ifndef这种宏定义即可解决。因为所谓h文件就是在编译时展开在c文件中而已。

2、如果1.c和2.c都只调用b.h,b.h中定义一个变量,则在c文件编译时不出错,但是在链接成可执行文件时会报错。可以通过再b.h中定义的变量前加static解决。加static等同于在1.c和2.c中定义了一个同名的static变量所以不报错。

以上说明在h文件里时极不建议定义变量的,和goto一样。

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

相关文章:

  • 从原理到实战:Matlab chirp函数生成线性扫频信号全解析
  • STM32堆栈原理与内存管理实践指南
  • OpenClaw图文处理技能开发:基于Qwen2.5-VL-7B的自动化方案
  • MacOS极简部署OpenClaw:5分钟连接Phi-3-vision-128k-instruct模型
  • 电容特性与应用全解析:从基础到实践
  • Highcharts 前端导出详解:如何实现纯客户端导出(Offline Exporting)
  • 从零到上线:在Ubuntu 22.04上配置 mediasoup-demo 的完整避坑指南(含Node.js版本选择)
  • 利用快马平台十分钟搭建旗博士口播智能体交互原型
  • 2026年AI大模型学习指南:从零到精通AI大模型学习全攻略
  • 【高时效性内存验证协议】:如何在毫秒级行情回放中完成内存池稳定性认证(附证监会合规检测对照表)
  • 揭秘百度搜索技术栈逆向分析
  • PyTorch3D在Windows上安装总报错?试试这个绕过源码编译的Pip直装方案(适配PyTorch 2.0.1 + CUDA 11.7)
  • Java+Vue实现Markdown转Word文档的自动化导出方案
  • 计算机毕业设计:Python航班数据智能管理大屏 Django框架 可视化 MLP 大数据 机器学习 深度学习(建议收藏)✅
  • Cupkee嵌入式操作系统入门与实践指南
  • OpenClaw可视化实战:将SecGPT-14B分析结果呈现在链式仪表盘
  • 基于STM32与NRF24L01的智能小车无线控制系统设计与实现
  • Linux系统启动过程详解与运维实践
  • OpenClaw+千问3.5-9B成本优化:自建模型接口节省50%费用
  • 实战应用开发:基于快马平台构建企业级短链接服务系统
  • FPGA 实现 TCP 和 UDP 协议的卸载
  • 单片机开发板选购指南与新手避坑策略
  • OpenClaw批量安装脚本:Qwen3.5-9B团队共享配置方案
  • DYOR 百果园集团 02411.HK
  • 为什么头部AI平台悄悄将92%的在线推理切至Cuvil?揭秘其在LLM服务中毫秒级延迟保障机制
  • 【MySQL篇】从零开始:安装与基础概念
  • Highcharts客户端导出使用文档说明|图表导出模块讲解
  • 2026宠物食品包装升级指南:广东五大实力厂商深度解析与联系攻略 - 2026年企业推荐榜
  • 避坑指南:Cesium实体编辑时,如何解决鼠标事件冲突与相机控制失灵?
  • LeetCode--344.反转字符串(字符串/双指针法)