H 第5章程序结构 3.文件作用域 具有文件作用域的标识符是在所有函数定义之外 声明的,其作用域从声明点开始,一直延伸至文件尾。 般情况下,程序中所声明的全局变量都具有文件作 用域,它们在整个文件中都有效 【例5-1】文件作用域例题 #includesiostream. h> int k void main()
第5章 程序结构 3.文件作用域 具有文件作用域的标识符是在所有函数定义之外 声明的,其作用域从声明点开始,一直延伸至文件尾。 一般情况下,程序中所声明的全局变量都具有文件作 用域,它们在整个文件中都有效。 【例5-1】 文件作用域例题。 #include<iostream.h> int k; void main( ) { k=5;
H 第5章程序结构 k++: cout<<k"<<k<<endl 程序运行结果为 这个例子中,在主函数之前声明的变量k具有文件 作用域,它的有效作用范围是整个源代码文件
第5章 程序结构 { k++; } cout<<"k="<<k<<endl; } 程序运行结果为 k=6 这个例子中,在主函数之前声明的变量k具有文件 作用域,它的有效作用范围是整个源代码文件
H 第5章程序结构 512可见性 作用域指的是标识符有效的范围,可见性从另 角度表现标识符的有效范围。标识符的可见性是指 在程序的某个位置,该标识符可以被有效地引用,因此, 形象地称为可见性。可见性遵循的一般规则如下 ①标识符在引用前必须先声明。 ②在互相没有包含关系的不同作用域中声明同名 的标识符时,两标识符互不影响 ③如果在两个或多个具有包含关系的作用域中声 明了同名标识符,则外层标识符在内层不可见
第5章 程序结构 5.1.2 可见性 作用域指的是标识符有效的范围,可见性从另一 个角度表现标识符的有效范围。标识符的可见性是指 在程序的某个位置, 该标识符可以被有效地引用,因此, 形象地称为可见性。可见性遵循的一般规则如下: ① 标识符在引用前必须先声明。 ② 在互相没有包含关系的不同作用域中声明同名 的标识符时,两标识符互不影响。 ③ 如果在两个或多个具有包含关系的作用域中声 明了同名标识符,则外层标识符在内层不可见
H 第5章程序结构 【例5-2】具有包含关系的作用域中可见性例题。 #includesiostream h int k void main() k=10 int k-5 cout<<k"<<k<<endl
第5章 程序结构 【例5-2】 具有包含关系的作用域中可见性例题。 #include<iostream.h> int k; void main( ) { k=10; { int k=5; cout<<"k="<<k<<endl;
H 第5章程序结构 cout<<k=<<k<<endl 程序运行结果为 k=5 在这个例子中,主函数之前声明的变量k具有文件 作用域,它的有效作用范围是整个源代码文件;主函 数内声明的变量k具有块作用域,它的作用范围在内层 的花括号内,k的块作用域被完全包含在k的文件作用 域中
第5章 程序结构 } cout<<"k="<<k<<endl; } 程序运行结果为 k=5 k=10 在这个例子中,主函数之前声明的变量k具有文件 作用域,它的有效作用范围是整个源代码文件;主函 数内声明的变量k具有块作用域,它的作用范围在内层 的花括号内,k的块作用域被完全包含在k的文件作用 域中