static和extern
时间: 2023-08-10 21:46:20 浏览: 291
extern和static的详细用法
`static`和`extern`都是C语言中的存储类别说明符。
`static`用于局部变量和全局变量上,其作用是改变变量的存储方式和作用域:
- 局部变量:使变量的生命周期与程序的整个执行过程相同,但是作用域限制在定义该变量的函数内部。这意味着该变量只能被定义它的函数访问,而不能被其他函数访问,即使其他函数与该函数属于同一文件。
- 全局变量:使变量的作用域限制在定义该变量的文件内部,不能被其他文件访问。这样可以避免不同文件中同名变量的冲突。
`extern`也用于全局变量上,其作用是声明一个变量,以便在文件间共享:
- 当在一个文件中使用另一个文件中定义的全局变量时,需要在使用的文件中用`extern`显式声明该变量。这样编译器就知道该变量是一个全局变量,并且在链接时可以正确地将其链接到定义它的文件中。
- `extern`也可以用于函数声明,表示该函数在其他文件中定义,需要在该文件中进行声明。这样可以避免在链接时找不到函数定义的错误。
总之,`static`和`extern`都是用于改变变量或函数的作用域和存储方式,但具体用法和作用不同。
阅读全文