这一部分内容容易忘记、弄混,所以在这里记录一下。
1.作用域
作用域描述了名称在文件的多大范围可见。
1)作用域为局部的变量只能在定义它的代码块中可见,代码块是由花括号括起的一系列语句。
2)作用域为全局的变量在定位位置到文件结尾之间都可以用,自动变量(函数定义中声明的变量,包括函数参数)的作用域为局部的,静态变量的作用域可能为全局可能为局部,至于什么是静态变量在后文中详解。
3)在函数原型作用域中使用的名称只在包含参数列表的括号内可用,这也是为什么这些名称是什么以及是否出现不重要。
4)在名称空间中声明的变量的作用域为整个名称。
5)在类中声明的成员的作用域为整个类。
6)函数的作用域可以是整个类或者名称空间(包括全局),但不能是局部的,因为不能再代码块内定义函数。
2.自动变量
自动变量是指那些在函数定义中声明的变量,包括函数参数,作用域为局部,没有链接性。
假设有一个代码块1内部还有一个代码块2,代码块1中的变量在代码块1和代码块2中均可见,代码块2中的变量只能在代码块2