尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
《c语言捡漏系列》static的作用
问题static uint16 abc 和 uint16 abc 一样都是放在.bss段那么static关键字到底起了什么作用它的核心作用不在于“放哪里”而在于“谁能看到它”和“活多久”。static有两个截然不同的应用场景效果完全不同1. 文件作用域全局静态变量—— 隐藏变量如果你在.c文件的最外层所有函数之外写下static uint16_t s_internalFlag;作用限定作用域这个变量只能在当前.c文件中使用。即使其他.c文件用extern声明也链接不到它。防止命名冲突链接器不会将该符号导出到全局符号表。这在大型工程中极其重要——你可以放心地在不同文件中定义同名的static全局变量它们互不干扰。对比不加static全局变量uint16_t g_internalFlag; // 默认是 全局符号其他任何.c文件都可以通过extern uint16_t g_internalFlag;来访问和修改它2. 函数作用域局部静态变量—— 保持状态如果你在函数内部写下void processSignal(void) { static uint16_t s_callCount 0; s_callCount; // ... }作用生命周期变长虽然它写在函数内部但不会像普通局部变量那样分配在栈Stack上。它的内存固定在.bss段程序上电即存在直到断电。值会保持函数退出时s_callCount的值不会丢失。下次进入该函数时它依然是上次退出时的值。作用域受限虽然它在内存中常住但其他函数无法直接访问它只有processSignal内部能看到它。也就是说第二次调用时s_callCount 不会被初始化为 0它会保留第一次调用后递增的值即 1。对比普通局部变量不加 staticvoid processSignal(void) { uint16_t callCount 0; // 每次进入函数都分配在栈上并初始化为 0 callCount; // 退出后销毁永远等于 1 }
RELATED

相关推荐

GBFR-Logs深度指南:从零掌握《碧蓝幻想:Relink》战斗数据分析

GBFR-Logs深度指南:从零掌握《碧蓝幻想:Relink》战斗数据分析

GBFR-Logs深度指南:从零掌握《碧蓝幻想:Relink》战斗数据分析 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/gb/g…

📅 2026/9/18 21:23:11
Unity行为树插件Behavior Designer:5分钟构建巡逻守卫AI实战指南

Unity行为树插件Behavior Designer:5分钟构建巡逻守卫AI实战指南

1. 项目概述:为什么选择Behavior Designer?如果你正在用Unity做游戏,尤其是涉及到NPC(非玩家角色)逻辑,那么“行为树”这个概念你肯定不陌生。它就像给AI角色编写的一套“决策流程图”,比传统的…

📅 2026/9/16 3:04:38
DevEco Studio 4.0+ 环境变量配置:macOS Zsh/Bash 双模式 5 步生效指南

DevEco Studio 4.0+ 环境变量配置:macOS Zsh/Bash 双模式 5 步生效指南

DevEco Studio 4.0 环境变量配置:macOS Zsh/Bash 双模式 5 步生效指南在macOS上进行鸿蒙应用开发时,环境变量配置往往是开发者遇到的第一个"拦路虎"。特别是当系统同时存在Zsh和Bash两种shell环境时,如何确保DevEco Studio及相关工…

📅 2026/8/24 8:25:04
MORE NEWS

更多资讯

📰

OpenClaw 2.0 数据存储与轨迹导出优化实战

1. OpenClaw 2.0 这次更新到底解决了什么实际问题?OpenClaw 2.0 的这次更新,标题里三个关键词——“数据存储”、“轨迹导出”、“自动化授权”,不是功能罗列,而是直击一线用户在真实部署和长期运维中反复踩坑的三大痛点。我从去年…

📰

WSL2+宝塔:Win10高效开发运维一体化方案

1. 为什么在Win10里装WSL再配宝塔,不是“多此一举”,而是精准踩中开发与运维的交汇点你是不是也经历过这样的场景:手头一台主力Win10笔记本,日常用Office、微信、Chrome,但突然要调试一个PHP Laravel项目,或…

📰

智能体引擎调用 OpenAI Chat Model,模型通道太散?TaoToken 这样改节点参数

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Harness Engineering 的 Codex 长任务,模型通道改到 TaoToken 行不行?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

猫抓插件教程:网页视频 4 步存下来,M3U8 一键变 MP4

猫抓插件教程:网页视频 4 步存下来,M3U8 一键变 MP4 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓(cat-c…

📰

亚马逊网站经营模式:解构数字零售的实时决策系统

简介:本资源是一份聚焦电商巨头亚马逊经营模式的深度分析报告,面向电子商务专业学生、平台运营从业者及互联网商业研究者,旨在通过系统解构其商业模式为国内平台提供可落地的借鉴思路。报告涵盖SWOT战略分析、B2C与Marketplace双轨模式运作机…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬