什么是块作用域

什么是块作用域,第1张

好像我前面给你回答过问题,什么是块作用域我来给你举个例子吧:

int a = 0

for (int i = 0i <10i++)

{

int b = i

b++

a += b

}

这对花括号在C++语法中就组成了一个块,变量b是在这个槐迹块内定义的.那么它就具有铅物并块作用域,当程序的控制流蚂培离开了这个循环,就是for循环结束时,这个变量b就被销毁了,不存在了,你在for循环的外部再引用变量b的话,程序就会报错:"变量b未定义".

作用域规耐培则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。

有块作桥态用域{},昌消唯文件作用域,类作用域,全局作用域等。

一个标识符的作用域是程序中的一段区域,用于确定该标识符的可见性。当标识符在一段区域中可见时,就可以在带森该区域内使用此标识符。作用域有五种:

1、块作用域(局部作用域)

2、文件作用域(全局作用域)

3、函数原型作用域

 蠢纳亩 4、函数作用域

5、类作用域

文件作用域

在函数和类之外说明的标识符具有文件作用域,其作用域从说明点开始,在文件结束处结束。 如果标识符出现在头文件的文件作用域中,则它的作用域扩展到嵌入了这个头文件的程序文件中 ,直到该程序文件结束。

文件作用域茄轿包含该文件中所有的其他作用域。 在同一作用域中不能说明相同的标识符。 标识符的作用域和其可见性经常是相同的,但并非始终如此。

例如:

#include <iostream.h>

int i//文件作用域

void main()

{

i=5

{

int i//块作用域

i=7

cout <<"i=" <<i // 输出7

}

cout<<"i=" <<i//输出5

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12306950.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存