问题
单项选择题
若程序中定义了局部变量与全局变量,则 ______ 。
A.在函数内只能访问局部变量,而不能访问全局变量
B.局部变量与全局变量的名字不得相同
C.若一个函数被多次调用,则其定义的局部变量必定分配同一个存储单元
D.函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量
答案
参考答案:D
解析: 本题考查程序语言的基本概念。
在高级语言程序中,变量的作用域可能是全局的也可能是局部的。对于全局变量,其作用域是整个程序(或文件1,因此在函数内可以访问全局变量,而局部变量的作用域为声明该变量的函数。一般语言都规定,若全局变量和局部变量的名称相同,则在局部变量的作用域范围内,引用的是局部变量。程序运行过程中,每次调用一个函数时,都在栈区为该函数的运行创建活动记录,函数运行结束后则释放为其分配的活动记录。因此,函数多次运行时,其定义的局部变量不一定分配同一个存储单元。