重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
蓝鸥iOS培训讲师推荐:今天的课程是C++基础篇里面的变量,那么变量又分为全局变量和局部变量两大类,首先先了解一下有关它们的介绍!
10年积累的网站设计、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有赫章免费网站建设让你可以放心的选择与我们合作。一、全局变量
程序的编译单位是源程序文件,一个源文件可包含一个或若干函数,在函数内定义的变量称为局部变量,而在函数之外定义的变量称为外部变量,也叫作全局变量,那么全局变量的有效范围是从定义变量的位置开始到本源文件结束。例如:
p/q/c1/c2全是全局变量,不过它们的作用范围不一样,在main函数和f2函数中可用全局变量p/q/c1/c2,但是在f1中只可用全局变量p/q。
在一个函数中可使用本函数中的局部变量/有效全局变量
全局变量说明:
1、设全局变量的作用是增加函数间数据联系的渠道
2、建议不在必要时不要使用全局变量,因为:
1)全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才开辟单元
2)它使函数的通用性降低了,因为在执行函数时要受到外部变量的影响,如果将一个函数移到另一个文件中,还要将有关的外部变量及其值一起移过去,但若该外部变量与其他文件的变量同名,就会出现问题,降低了程序的可靠性和通用性。在程序设计中,在划分模块时要求模块的内聚性强,与其他模块的耦合性弱,即模块的功能要单一(不要把许多互不相干的功能放到一个模块中),与其他模块的相互影响要尽量少,而用全局变量是不符合这个原则的。
3)一般要求把程序中的函数做成一个封闭体,除了可以通过“实参——形参”的渠道与外界发生联系外,没有使用全局变量过多,会降低程序的清晰性,在各个函数执行时都可能改变全局变量的值,程序容易出错!因此,要限制使用全局变量。
3、如果在同一个源文件中,全局变量与局部变量同名,则在局部变量的作用范围内,全局变量被屏蔽,即它不起作用。
变量的有效范围称为变量的作用域,归纳起来,变量有4种不同的作用域,文件作用域,函数作用域(functionscope),块作用域(blockscope)和函数原型作用域(functionprototypescope),文件作用域是全局的,其他三者是局部的。
二、局部变量
在一个函数内部定义的变量是内部变量,只在本函数范围内有效,意思就是只能在本函数内才能使,在该函数外不能用这些变量,一样,在复合语句中定义的变量只在本复合语句范围内有效,称之为局部变量。例如:
局部变量说明:
1、主函数main中定义的变量(m,n)也只在主函数中有效,不会因为在主函数中定义而在整个文件或程序中有效,主函数也不能使用其他函数中定义的变量。
2、不同函数中可以使用同名的变量,它们代表不同的对象,相互没联系,如,在f1函数中定义了变量b和c,倘若在f2函数中也定义变量b和c,它们在内存中占不同的单元,不会混淆。
3、可以在一个函数内的复合语句中定义变量,这些变量只在本复合语句中有效,这种复合语句也称为分程序或程序块。
4、形式参数也是局部变量,例如f1函数中的形参a也只在f1函数中有效,其他函数不能调用。
5、在函数声明中出现的参数名,其作用范围只在本行的括号内,实际上,编译系统对函数声明中的变量名是忽略的,即使在调用函数时也没有为它们分配存储单元。例如:
intmax(inta,intb);//函数声明中出现a、b
┆
intmax(intx,inty)//函数定义,形参是x、y
{
cout<
编译时认为max函数体中的a和b没有定义
全局变量和局部变量就整理到这,如果有问题可直接联系,希望能够帮助到你哦!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。