6.2 函数的作用域
函数作用域包括两部分内容,一是函数本身的有效作用范围;二是函数内部变量的有效作用范围。函数内部变量的作用范围,即函数变量的作用域。关于变量的作用域,在变量数据类型部分已作了相关介绍,函数变量的作用域遵循变量作用域的规则,同时又有其自身的特点。下面分别就这两部分内容进行介绍。
6.2.1 函数的作用范围
函数的作用范围是指函数代码的使用范围。在C51语言中,每个函数都是独立的代码块,函数的内部代码及其数据位于函数内部。使用函数时,除了要考虑其定义、参数、返回值等因素外,还要注意函数的作用范围。关于函数的作用范围,有以下几点说明。
❑在C51中,所有函数的作用范围都处于同一级别上,其作用范围是相互平行的,不可以在一个函数内再说明或定义另一个函数。
❑C51中主调函数对被调函数的调用是全程的,对于整个项目都是“可见”的。即使两个函数位于不同的文件中,也不必再附加任何说明语句,而可以直接调用被调函数。
❑定义在函数内部的数据与定义在其他函数内部的数据是相互独立的,不会相互影响,除非在源程序的开始定义全程变量。
❑在C51程序中,除了函数的调用以外,其他任何语句都不能访问该函数。
❑goto跳转语句只能在函数内部使用,而不能从一个函数跳进其他函数继续执行。