如何正确使用C中的extern关键字

如何正确使用C中的extern关键字

我的问题是什么时候应该使用extern关键词C.

我看不出什么时候应该在实践中使用这一点。在编写程序时,我使用的所有功能都可以通过我所包含的头文件获得。所以为什么extern访问头文件中未公开的内容?

我可能在想extern工作不正确,如果是,请纠正我。

编辑:你应该extern当它是在头文件中没有关键字的默认声明时会发生什么?


婷婷同学_
浏览 594回答 3
3回答

慕桂英4014372

"extern“更改链接。使用关键字,函数/变量假定在其他地方可用,解析被推迟到链接器。函数上的“extern”和变量上的“extern”是有区别的:对于变量,它不实例化变量本身,即不分配任何内存。这需要在其他地方完成。因此,如果要从其他地方导入变量,则非常重要。对于函数,这只会告诉编译器链接是外部的。由于这是默认的(使用关键字“静态”来表示函数没有使用extern链接绑定),所以不需要显式使用它。

FFIVE

已经有人说extern关键字对于函数来说是多余的。对于跨编译单元共享的变量,您应该使用extern关键字在头文件中声明它们,然后在一个源文件中定义它们,而不使用extern关键字。为了获得最佳实践,单一源文件应该是共享头文件名的源文件。
打开App,查看更多内容
随时随地看视频慕课网APP