static局部变量和全局变量的区别
发表在C语言视频课程答疑 2020-12-31
是否精华
版块置顶:

全局变量bai(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文 件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作 用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。 由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可 以避免在其它源文件中引起错误。 从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的 生存期(静态局部变量在程序运行结束释放空间,而普通静态局部变量在函数退出时释放空间)。 把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。 static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明 为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以 外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件 (用static声明的即内部函数,内部函数指只能被本文件的其他函数所调用的函数, 内部函数在C++实际上可以通过类名修饰符访问其他均为外部函数)

分享到:
精彩评论 1
李木子
学分:2954 LV11
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照