静态全局变量和动态全局变量
时间: 2023-09-08 16:12:36 浏览: 122
静态全局变量,静态局部变量,全局变量,局部变量
静态全局变量和动态全局变量都是在全局作用域定义的变量,但它们有一些不同之处。
1. 静态全局变量:
- 静态全局变量在程序的整个生命周期内都存在,它们的作用域限于定义它们的源文件。
- 静态全局变量只能在定义它们的源文件中访问,其他源文件无法直接访问。
- 静态全局变量在默认情况下具有内部链接(internal linkage),也就是说,它们只能在定义它们的源文件中可见。
2. 动态全局变量:
- 动态全局变量也在程序的整个生命周期内存在,它们的作用域同样限于定义它们的源文件。
- 动态全局变量可以被其他源文件访问,通过使用 `extern` 关键字进行声明。
- 动态全局变量在默认情况下具有外部链接(external linkage),也就是说,它们可以在其他源文件中可见。
总结:
静态全局变量和动态全局变量都是在全局作用域下定义的,但静态全局变量具有内部链接和作用域限制,只能在定义它们的源文件中访问。而动态全局变量可以通过 `extern` 关键字声明后在其他源文件中访问。
阅读全文