全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

题目

全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在Visual FoxPro中,根据变量的作用域来分,内存变量可分为( )。

A.局部变量和全局变量

B.私有变量和全局变量

C.私有变量和局部变量

D.私有变量、局部变量和全局变量


正确答案:D
解析:程序设计离不开变量,一个变量除了类型和取值之外,还有一个重要的属性就是它的作用域。变量的作用域指的是变量在什么范围内是有效或能够被访问的。在Visual FoxPro中,若以变量的作用来分,内存变量可分为全局变量、私有变量和局部变量。

第2题:

若程序中定义了局部变量与全局变量,则(30)。

A.在函数内只能访问局部变量,不能访问全局变量

B.局部变量与全局变量的名字不得相同

C.一个函数被多次调用时,其定义的局部变量必定分配同一个存储单元

D.函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量


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

第3题:

在Visual FoxPro中,在程序中不需要用public等命令明确声明和建立,可直接使用的内存变量是( )

A、局部变量

B、公共变量

C、私有变量

D、全局变量

E、内部变量


参考答案:C

第4题:

全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?


正确答案:
 

第5题:

static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?


正确答案:
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。
从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。
static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件

static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;
static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;
static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

第6题:

在Visual FoxPro中,下列变量中需要事先定义的是( )。

A) 私有变量、局部变量、数组变量

B)全局变量、局部变量、数组变量

C)全局变量、私有变量、数组变量

D)全局变量、局部变量、私有变量


正确答案:B

第7题:

全局变量和局部变量的区别是___________。

A、两者无本质不同

B、全局变量只在当前程序及其下属程序中有效

C、全局变量是全局有效的变量;局部变量只在当前程序及其下属程序中有效


参考答案:C

第8题:

在Visual FoxPr0中,根据变量的作用域来分,内存变量可分为( )。

A)字段变量、数组变量和局部变量

B)字段变量、数组变量和私有变量

C)数组变量、局部变量和全局变量

D)私有变量、局部变量和全局变量


正确答案:D

第9题:

若程序中定义了局部变量与全局变量,则(11)。A.在函数内只能访问局部变量,而不能访问全局变量SX

若程序中定义了局部变量与全局变量,则(11)。

A.在函数内只能访问局部变量,而不能访问全局变量

B.局部变量与全局变量的名字不得相同

C.若一个函数被多次调用,则其定义的局部变量必定分配同一个存储单元

D.函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量


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

第10题:

在FoxPro中,可以使用的两类变量是( )。

A.内存变量和字段变量

B.全局变量和局部变量

C.字段变量和简单变量

D.内存变量和自动变量


正确答案:A