2016 - 2024

感恩一路有你

汇编语言编程实例 局部变量和全局变量的区别是什么?

浏览量:1879 时间:2021-03-14 02:01:50 作者:admin

局部变量和全局变量的区别是什么?

具体来说,全局变量和局部变量之间的区别如下:

1。不同的作用域:全局变量的作用域是整个程序,而局部变量的作用域是当前函数或循环等。不同的内存存储方式:全局变量存储在全局数据区,局部变量存储在堆栈区

3不同的寿命:全局变量的寿命与主程序相同。它们随着程序的破坏而被摧毁。局部变量在函数或循环中,它们不随函数或循环的退出而存在

4。不同的使用方式:全局变量声明后可以在程序的所有部分使用,但局部变量只能在局部使用。函数中的局部变量将优先于全局变量使用

在C语言中,函数中定义的变量称为局部变量,局部变量的有效范围在函数内部。形式参数是局部变量。除了作用于函数的局部变量外,C语言还允许定义作用于复合语句的局部变量。它的有效使用仅限于复合语句,通常在小范围内用作临时变量。虽然全局变量和局部变量保证了函数的独立性,但有时在程序设计中必须考虑不同函数之间的数据交换和每个函数的一些统一设置。为了解决多个函数之间的变量共享问题,C语言允许定义全局变量。在函数外部定义的变量不属于任何函数,它就成为全局变量。全局变量的作用域是从定义的开始到程序所在文件的结尾。它适用于范围内的所有函数。注意:由于全局变量和局部变量的范围不同,允许它们具有相同的名称。当函数的局部变量与全局变量同名时,全局变量在函数中不起作用,但全局变量起作用。对于其他没有相同名称的函数,全局变量仍然有效。同样,当函数的局部变量与复合语句的局部变量同名时,应以复合语句为准。全局变量有助于解决多个结果返回的问题,但全局变量更多地用于多个函数之间的全局数据表示。

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

编译时,编译器将自动为静态局部变量、常规全局变量和静态总变量分配地址。从单片机上电开始,一直保持,不会被回收。真正的区别在于它们的范围。静态局部变量的作用域在定义它的函数中。因为编译器分配地址给它们,并在编译时对它们进行初始化,所以它只能初始化一次,而且顺序似乎是每次程序执行这个函数时,它都会执行那个definition语句。其实不是!不!对!因为它被分配了一个地址,并且总是驻留在RAM中。在这种情况下,其他特征与普通局部变量相同。通用全局变量可以在本文档中无限期地使用。此外,extern关键字还可以引用其他源文件。静态全局变量是在通用全局变量的基础上,取消外部关键字引用,即不管怎样,它只能被这个文件的程序使用,其他文件不能使用。(模块化保护代码,封闭的外部接口)。

什么是局部变量和全局变量,该怎么用?

在C语言中,这取决于如何放置全局变量和局部变量。如果将全局变量和局部变量放在一个代码文件中,则会发生冲突。所以不明显,我将编写一个C程序代码,如下图所示:

在这个C程序中,我在main函数外定义了一个全局变量para,并给出一个初始值1。在C程序的主函数中,我定义了一个变量para,它与主函数外的变量同名。

这里,C程序主函数外的变量的生命周期在整个代码中是有效的,而主函数的变量只在主函数中有效。

也就是说,当您在C程序的主函数中操作para变量时,实际上是在主函数中操作变量,而外部para变量的值仍然是1。在这个C程序中,main函数中的para变量隐藏了外部变量para。

因此,学生在学习C语言时,必须注意全局变量被同名局部变量覆盖的问题,还要了解变量的范围和生命周期。

汇编语言编程实例 全局变量和局部变量的例子 c语言四种基本数据类型

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。