extern关键字作用
时间: 2023-10-23 15:49:53 浏览: 97
extern是C/C++语言中的一个关键字,它可以用来声明一个变量或者函数是在其他文件中定义的。当我们在一个文件中使用一个在另一个文件中定义的变量或者函数时,我们需要在当前文件中使用extern关键字来声明这个变量或者函数,告诉编译器它是在其他文件中定义的,以便在链接时将其正确地连接起来。
在变量的声明中,extern关键字用于指示该变量是在其他文件中定义的外部变量,不是在当前文件中定义的局部变量。在函数的声明中,extern关键字用于指示该函数是在其他文件中定义的外部函数,不是在当前文件中定义的内部函数。
例如,在一个文件中定义了一个全局变量a,而在另外一个文件中需要使用这个变量时,我们需要在另外的文件中使用extern关键字声明这个变量,告诉编译器这个变量是在其他文件中定义的,以便在链接时正确地使用这个变量。
相关问题
unity3d extern关键字作用
在Unity3D中,extern关键字用于声明外部函数。它的作用是告诉编译器该函数的实现在其他地方,不在当前的代码文件中。这样可以在Unity项目中使用其他语言编写的函数或库。
使用extern关键字声明的函数需要在其他地方进行定义和实现,通常是在C++或C#等其他语言中。在Unity中,常见的使用extern关键字的场景是与原生插件进行交互。
通过使用extern关键字,Unity可以调用其他语言编写的函数,实现更高级的功能或者与底层系统进行交互。这样可以充分利用其他语言的特性和功能,提升Unity项目的性能和扩展性。
extern关键字的作用c
extern关键字在C语言中有以下几个作用:
1. 声明外部变量:当在一个文件中定义了一个全局变量,而在另一个文件中需要使用该变量时,可以使用extern关键字来声明该变量。这样编译器在编译时不会报错,而在链接时会去查找定义过的变量。
2. 声明外部函数:类似于声明外部变量,当在一个文件中定义了一个函数,而在另一个文件中需要调用该函数时,可以使用extern关键字来声明该函数。这样编译器在编译时不会报错,而在链接时会去查找定义过的函数。
3. 单方面修改函数原型:当需要修改函数的原型时,可以使用extern关键字来声明函数。这样可以在调用该函数的地方进行修改,而不需要修改函数的定义。
总结来说,extern关键字的作用是在不同的文件中声明已经定义过的变量或函数,以便在编译和链接时能够正确地引用它们。
#### 引用[.reference_title]
- *1* [【004 关键字】extern “C“的作用是什么?](https://blog.csdn.net/qq_41709234/article/details/123082378)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [extern关键字作用](https://blog.csdn.net/qq_40569221/article/details/119817008)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [[C语言]C语言中关键字‘extern’的作用](https://blog.csdn.net/m0_58244165/article/details/130497382)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文