论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
局部变量和全局变量
局部变量和全局变量
玛卡巴卡的卡巴卡玛
论坛元老
|
2024-11-13 22:23:15
|
显示全部楼层
|
阅读模式
楼主
主题
1821
|
帖子
1821
|
积分
5463
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
局部变量和全局变量
局部变量
界说变量可能有3种情况:
在函数的开头界说
在函数内的复合语句内界说
在函数的外部界说
在一个函数内部界说的变量只在本函数范围内有效,也就是说只有在本函数内才气引用它们,在此函数以外是不能使用这些变量的
在复合语句内界说的变量只在本复合语句范围内有效,只有在本复合语句内才气引用它们,在该复合语句以外是不能使用这些变量的
以上称为“局部变量”
主函数中界说的变量也只在主函数中有效,并不由于在主函数中界说而在整个文件中或程序中有效。主函数也不能使用其他函数中界说的变量
不同函数中可以使用同名的变量,它们代表不同的对象,互不干扰
形参也是局部变量
在一个函数内部,可以在复合语句中界说变量,这些变量只在本复合语句中有效,这种复合语句也称为“分程序”或“程序块”
全局变量
程序的编译单元是源程序文件,一个源文件可以包罗一个或若干个函数,在函数内界说的变量是局部变量,而在函数外界说的变量称为外部变量,外部变量是全局变量(也称全程变量)
全局变量可以为本文件中其他函数所共用。它的有效范围为从界说变量的开始到本源文件结束
在一个函数中既可以使用本函数中的局部变量,也可以使用有效的全局变量
设置全局变量的作用是增长了函数间数据接洽的渠道,由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,就能影响到其他函数中全局变量的值,相当于各个函数间有直接的传递通道,由于函数的调用只能带回一个函数返回值,因此有时可以使用全局变量来对增长函数间的接洽渠道,通过函数调用能得到一个以上的值
建议不在必要时不要使用全局变量,原因如下:
全局变量在程序的全部实行过程中都占用存储单元,而不是仅在需要时才开辟
它使函数的通用性降低了,由于如果在函数中引用了全局变量,那么实行情况会受到有关的外部变量的影响,如果将一个函数移到另一个文件中,还要考虑把有关的外部变量及其值一起移过去。但是若该外部变量与其他文件的变量同名时,就会出现问题。这就降低了程序的可靠性和通用性。在程序设计中,在划分模块时要求模块的“内聚性”强、与其他模块的“耦合性”弱。即模块的功能要单一(不要把许多互不相干的功能放到一个模块中)与其他模块的相互影响要只管少,而用全局变量是不符合这个原则的。一般要求C程序中的函数做成一个相对的封闭体,除了可以通过“实参---形参”的渠道与外界发生接洽外,没有其他渠道。这样的程序移植性好,可读性强
使用全局变量过多,会降低程序的清晰性,人们往往难以清晰的判断出每个瞬时各个外部变量的值。由于在各个函数实行时都可能改变外部变量的值,程序容易堕落。因此,要限制使用全局变量
如果在同一个源文件中,全局变量和局部变量同名时,在局部变量的作用范围内,局部变量有效,全局变量被“屏蔽”,即全局变量不起作用
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
玛卡巴卡的卡巴卡玛
论坛元老
这个人很懒什么都没写!
楼主热帖
SQL SERVER事务提交回滚
Kubernetes(k8s)Deployment、Statefu ...
基于STM32的手势识别检测
【C++】ZZ1864- 解题精讲
一文读懂,硬核 Apache DolphinSchedul ...
ConcurrentHashMap源码,看我这篇就够 ...
如何用技术改变生活
【Openxml】颜色变化属性计算 ...
数据类型的内置方法
同事写了一个责任链模式,bug 无数... ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表