局部变量和全局变量的区别

目录:

Anonim

主要区别 局部变量和全局变量之间是 局部变量是在函数内部声明的,而全局变量是在程序中的函数外部声明的。

变量是赋予内存位置的名称。它可用于在整个程序中操纵存储在该内存位置中的值。 C等编程语言中有两种类型的变量,它们是局部变量和全局变量。局部变量在函数内声明,并且只能由该函数访问。另一方面,全局变量是在程序的函数外声明的。整个程序中的任何语句都可以访问它。

全局变量、局部变量、内存位置

什么是局部变量

函数或方法是一组执行特定任务的指令。局部变量是在函数内部声明的变量。它只能在该特定功能内访问。同一程序的其他函数无法访问该变量。从其他函数评估局部变量会出错。

程序执行从main方法开始。当 main 方法调用一个函数时,控制权从 main 方法传递给该函数。局部变量存在直到函数执行。在完成该函数的执行后,控制权被传递回 main 方法。因此,局部变量只存在于函数执行之前。函数执行完毕后,局部变量被销毁。

图 1:局部变量

在上面的程序中,“a”和“b”值被传递给了 calculate_area 函数。在该函数内创建了一个名为 area 的新变量。这个变量是一个局部变量。它只能在该功能内访问。它不能在 main 方法内部访问。

什么是全局变量

全局变量是在程序内部的所有函数之外声明的变量。一个程序中可以有多个功能。所有这些函数都可以访问这些全局变量。因此,全局变量不是很安全,因为它的值可以被其他函数改变。全局变量一直存在,直到整个程序执行完毕。

当多个函数对同一数据进行操作时,全局变量很有用。另一方面,全局变量的值不可靠,因为它可以更改。

图 2:全局变量

在上面的程序中,‘a’和‘b’是全局变量。因此,这些变量可以在 sum 和 increment_values 函数中访问。 sum 函数打印 a 和 b 的总和。 increment_values 函数将 ‘a’ 和 ‘b’ 的值加 1。 在 main 方法中打印 ‘a’ 和 ‘b’ 值时,它将打印增量值。因此,程序中的所有函数都可以访问全局变量。

局部变量和全局变量的区别

定义

局部变量是在计算机程序的函数内声明的变量。全局变量是在计算机程序的功能之外声明的变量。这是局部变量和全局变量之间的基本区别。

关联性

此外,虽然局部变量只能在声明它的函数内访问,但全局变量可以被程序中的所有函数访问。

存在

局部变量和全局变量之间的另一个重要区别是它们的存在。局部变量存在直到函数执行。局部变量在函数开始执行时创建,在函数执行完成时销毁。另一方面,全局变量在程序执行的整个过程中一直存在。

可靠性

结论

C 等编程语言有两种类型的变量,称为局部变量和全局变量。局部变量和全局变量的区别在于局部变量是在函数内部声明的,而全局变量是在程序的函数外部声明的。

参考:

1. “C 函数”。 Www.tutorialspoint.com,教程点,可在此处获得。

局部变量和全局变量的区别