static extern
时间: 2023-08-17 11:05:45 浏览: 64
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 ]