c语言中全局变量c语言中全局变量和局部变量的区别

2024-01-09 00:37:34 浏览

在C语言中,可以使用关键字extern和static定义全局变量,它们的作用分别如下:

c语言中全局变量c语言中全局变量和局部变量的

// 共享全局变量定义在其他文件 extern int global_var; int main() { // 使用共享全局变量 global_var = 1; }

static关键字定义全局变量使用static关键字定义的全局变量是静态全局变量。它具有与全局变量相同的作用域,但只能被当前文件的函数访问,其他文件访问不到。示例如下:

// 静态全局变量 static int static_var; void function() { // 使用静态全局变量 static_var = 1; } int main() { // 使用静态全局变量 static_var = 2; }

需要注意的是,全局变量在程序运行后一直存在于内存中,因此应谨慎使用,并且尽量避免使用全局变量,以减少程序的耦合度和不必要的程序复杂性。

当然有道理,因为全局也不是万能的。全局变量优点

1.全局可视,任何一个函数都可以访问和更改变量值。

2.内存地址固定,读写效率高缺点:1.容易造成命名冲突2.当值不正确或者出错时,很难确定是哪个函数更改过这个变量3.不支持多线程

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。