目录
- 一、函数和变量的多文件问题
- 二、static修饰变量和函数
- 2.1.static修饰全局变量
- 2.2.static修饰局部变量
- 2.3.为什么局部变量具有临时性,全局变量具有全局性
- 总结
一、函数和变量的多文件问题
.h: 头文件,一般包含函数声明,变量声明,宏定义,头文件等内容(header)
.c : 源文件,一般包含函数实现,变量定义等 (.c:c语言)

如果在一个源文件定义一个函数,然后再另一个源文件调用,这样的方式可行吗?
答案是可行的,但是在生成解决方案的时候会警告:
但是如果把函数换成变量的话,则无法运行:
如果要使用这个变量,就必须加入声明:
注意在声明的时候不能赋值:
这个很好理解,因为声明并没有开辟内存空间。
为什么要有头文件?
从上面不难看出,当单纯使用源文件组织项目的时候是十分麻烦的,比如一个文件要使用另一个文件的变量就必须要声明,当项目非常复杂的时候维护成本会非常高。
所以为了解决这个问题,我们把函数声明,以及很多文件都需要用到的变量声明、宏定义、头文件包含等放到头文件中,源文件想要用的时候只需要包含头文件即可。这样即可减少项目的维护成本。
变量声明必须要加extern,函数声明可以不加
到此为止,我们就知道了:
全局变量,是可以跨文件被访问的。全局函数,是可以跨文件被访问的。
1.1.为什么全局变量和函数需要跨文件访问
对于有一定规模的项目,一定是多文件的,多个文件之间一定会有数据的“交互”(比如在main.c中访问test.c的函数),所以如果不能跨文件访问,文件之间“交互”成本就非常高。
对于一些需要隐藏起来不想被其他文件访问的变量或者函数,就可以用static修饰。
二、static修饰变量和函数
2.1.static修饰全局变量
static修饰全局变量,代表该变量只能在本文件内被访问,不能在其他文件直接访问。
虽然其他文件不能直接访问,但是可以通过本文件的函数访问:
static修饰全局函数也是一样。
对于全局变量和全局函数,static修饰的是变量和函数的作用域。
2.2.static修饰局部变量
static修饰局部变量,修饰的是变量的生命周期,变量的生命周期变*局周期。(作用域不变)。
且该变量的初始化只会在定义的时候进行一次,后续将不再进行初始化,因为定义只能定义一次。
在这里fun函数结束后,变量i并没有被释放,它的生命周期是全局周期。
注意这里i的作用域没变,在函数外是不能访问i的。
2.3.为什么局部变量具有临时性,全局变量具有全局性
static修饰的局部变量和全局变量会被放在静态区,静态区在整个“进程”运行生命周期内都是有效的。而局部变量则会被放到栈区,栈区的变量具有临时性,因为栈区有入栈(开辟空间)和出栈(释放空间)的过程。
总结
相关推荐:
自动生成文章的AI软件,助力内容创作的未来
AI一键生成文章在线:提升创作效率,改变写作方式
SEO优化排名:让您的网站在搜索引擎中脱颖而出,我ai 达瓦仓决
ChatGPT暂时不可用?如何高效应对并寻找最佳替代方案!,logo ai教程视频
ChatGPT模型进化历程:人工智能的智慧革命,ai 喷枪星空
SEO全套秘籍:提升网站流量与排名的终极指南,荣昌手机网站建设
ChatGPT+维护页面:您的智能助手之旅,安全、高效、无忧,奥特曼画图ai
中外链:打通全球流量的桥梁,提升网站排名与流量的双重保障,行业网站建设思路
SEO总计:如何通过SEO优化实现网站流量和排名的飞跃,三元桥网站优化
文章AI扩写:突破创作瓶颈,提升写作效率的秘密武器
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
SEO优化基础:让你的网站脱颖而出的秘密武器,模仿猫ai
SEO找词:如何精准找到高效关键词,提升排名和流量,河源网站优化平台
SEO有意:如何通过优化策略提升网站排名与流量,天津政府智慧网站建设
SEO优化关键词品牌:如何通过精准的关键词提升品牌价值,ai免费智能写作论文
优化,让生活与工作更高效-从个人到企业的全面升级,广州百度seo费用
文章AI生成软件高效创作新纪元
优化百:开启数字时代的智能营销新时代,湘潭seo优化报价表
ChatGPT不能加载过去的对话,如何提升你的使用体验?,ai智能衣服
360ai答题-赋能教育,开启智能学习新纪元,ai 果汁
SEO自己:打造属于你的数字营销利器,微信裂变营销推广软件
seo进阶买什么书推广,seo的推广技巧 ,菩萨壁纸ai
SEO行销:开启网站流量增长的秘密武器,百威产品关键词查询排名
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
“赞片CMS”-让你的*站点管理更高效、便捷,日照seo平台
软件我在AI:改变未来的智能助手
ChatGPT已识别但不可用?揭秘背后原因与解决方案!,小狸ai和斑马ai语文
如何查文章AI率?全面解析AI文章检测工具及技巧
ChatGPT为什么用不了了?背后的真相揭秘!,ai写作专家收费吗
文章AI指令提升写作效率的智能助手
二次创作的魅力与潜力:创意无限的数字时代,天长外贸网站建设
什么是seo运营,什么是seo营销 ,ai绘画沙地
AI缩写在线:让人工智能助力你行业前沿技术,ai uhrehara
ChatGPT显示“此网站无法加载站点”:背后原因与解决办法详解,用ai画明度渐变条
SEO建站,开启网站优化的全新篇章!,网络营销推广合作方式
什么是seo平台seo教程,什么是 seoseo有何价值 ,论文写作ai助手公众号
SEO汇报:如何通过数据分析提升网站排名,助力企业业绩增长,免费推广网站大全百度经验
优化公司:助力企业腾飞的秘密武器,微信营销推广价格多少
AI免费工具:提升效率与创意的秘密武器
SEO自从上线后的演变与未来发展趋势,拼多多增加关键词排名
OpenAI推出的GPT-4Turbo大幅降低了AI应用成本,推动了AI技术的普及化,ai*版
360关键:打造全方位安全保护,守护您的数字世界,ai乘bi
如何通过AI写文章,轻松提高写作效率与质量
ChatGPT页面无法下拉?禁用浏览器扩展,轻松解决!,imba 1.6 ai
SEO大神如何在激烈的互联网竞争中脱颖而出?,网页设计和网站建设试题
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄
SEO优化全攻略提升网站排名的关键步骤与未来趋势,这是什么新晋动画ai
SEO差价如何用SEO优化帮助企业实现成本与效益的完美平衡,盐城seo收费贵吗
AI会生成同一篇文章吗?揭开智能创作的神秘面纱
SEO收集:如何通过有效数据收集提升网站排名,鞍山商城网站建设报价