标识符的作用域
标识符的作用域 “作用域是一个标识符在程序正文中有效的区域”——来自教材《C++语言程序设计》 一、函数原型作用域 “在函数原型声明时形式参数的作用范围就是函数原型作用域。” 函数的形参的标识符只在这个函数中有效,另外,函数中的声明的变量的标识符也只在该函数中生效。当在函数以外的地方使用这些标识符时(如果在这些地方没有声明过这些变量),编译器就会报错。 实验1:在函数内声明一些变量,在函数外使用,然后观察编译器的反应,以及如何解决。 要在这些地方使用相同的标识符时,就需要再次对这些标识符进行声明。 对主函数中标识符进行重新声明后,运行成功: 二、局部作用域(块作用域) 在块里面声明的变量,其作用域从声明处开始,一直到声明所在的块结束的大括号为止。 实验2:在块外面声明变量,然后再在块里面声明同样标识符的变量,并分别在块内和块外使用cout语句将变量的值输出到屏幕,查看结果,并尝试去查找原因。 #define _CRT_SECURE_NOWARNINGS #include<iostream> using namespace std; int main() { int flag=1; int i = 2; int j = 3; if (1) { int flag = 78; cout << "块内flag=" << flag << endl; if (1) { int i = 28;