static extern
时间: 2023-08-17 22:07:04 浏览: 113
static 和 extern 是C语言中的关键字,用于修饰变量的作用域和访问方式。
static 修饰局部变量时,会使该局部变量获得持久化能力,即该局部变量在函数调用结束后仍然保留其值,下次调用该函数时,该局部变量的值会保持上一次调用的值。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* *2* [C语言中 static 和 extern 的用法详解](https://blog.csdn.net/qq_41885673/article/details/121487675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
static extern
static和extern是C语言中的两个关键字,它们在变量和函数的声明和定义中有不同的作用。
static关键字用于修饰变量和函数,具有以下几个特点:
1. 静态变量:静态变量在函数内部声明时,会在程序运行时只初始化一次,并且在函数调用结束后仍然保持其值,不会被销毁。静态变量在函数外部声明时,只能在当前文件中使用,其他文件无法访问。
2. 静态函数:静态函数只能在当前文件中使用,其他文件无法调用。静态函数的作用域被限制在当前文件内部,不会与其他文件中的同名函数产生冲突。
extern关键字用于声明变量或函数,具有以下几个特点:
1. 外部变量:extern用于声明一个在其他文件中定义的全局变量,使得当前文件可以使用该变量。
2. 外部函数:extern用于声明一个在其他文件中定义的函数,使得当前文件可以调用该函数。
综上所述,static和extern是C语言中用于修饰变量和函数的关键字,它们在作用域和可见性上有所不同。static修饰的变量和函数只能在当前文件中使用,而extern修饰的变量和函数可以在其他文件中使用。
#### 引用[.reference_title]
- *1* [extern和static的用法](https://blog.csdn.net/qq_64426102/article/details/124084635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C语言中static与extern用法总结](https://blog.csdn.net/weixin_43249038/article/details/120252882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [static和extern用法总结](https://blog.csdn.net/qq_34489443/article/details/102645963)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
auto static extern register
auto:自动变量。编译器自动分配存储空间并自动释放。
static:静态变量。在整个程序的生命周期内只存在一个实例,且存储在全局数据区。
extern:外部变量。用于在当前文件中声明一个在其他文件中定义的变量。
register:寄存器变量。告诉编译器尽量将该变量存储在寄存器中,提高程序运行效率。
阅读全文