A、在函数内只能访问局部变量,而不能访问全局变量
B、局部变量与全局变量的名字不得相同
C、若一个函数被多次调用,则其定义的局部变量必定分配同一个存储单元
D、函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量
查看答案
正确答案
试题解析
本题考查程序语言的基本概念。在高级语言程序中,变量的作用域(引用变量的代码范围)可能是全局的或者是局部的。对于全局变量,其作用域是整个程序(或文件),因此在函数内可以访问全局变量,而局部变量的作用域为声明(定义)该变量的函数(过程,子程序)。一般语言都规定,若全局变量和局部变量的名称相同,则在局部变量的作用域范围内,引用的是局部变量(即最近嵌套原则)。程序运行过程中,每次调用一个函数时,都在栈区为该函数的运行创建活动记录(主要包括函数运行时需要的数据和控制信息),函数运行结束后则释放为其分配的活动记录。因此,函数多次运行时,其定义的局部变量不一定分配同一个存储单元。