c 的全局变量如何在其他源文件引用,放在头文件中有什么利弊

c 的全局变量如何在其他源文件引用,放在头文件中有什么利弊,第1张

1、在函数源文件定义全局变量,在引用它的地方extern进来

2、放在头文件的好处减少了程序代码的冗余,弊端是会重复引入编译报错,可讲extern放入头文件中

,这样的话好处与前面的相同

其实没有绝对的利弊,就好比在goto在实际开发中的运用,适合就是最好的

在C++中,通常将头文件用于声明类、函数、变量等,而将定义放在源文件中实现。这是因为在C++中,头文件通常包含声明信息而不是定义信息。声明告诉编译器一个名称的类型和标识符,并告诉它在何处可以找到定义,以便在编译期间使用该名称。定义实际上是创建名称的实例,并将其分配给一些内存地址。

如果您在头文件中声明了一个变量,并在源文件中对其进行定义和初始化,则编译器会为每个包含该头文件的源文件创建该变量的实例。这将导致多个编译单元(源文件)中出现同名的变量,从而会导致链接错误,因为编译器无法确定该变量应该指向哪个实例。

为了避免这种情况,您可以使用extern关键字在头文件中声明变量,然后在源文件中定义并初始化它。这将告诉编译器该变量的定义只存在于一个源文件中,从而避免了多个实例之间的冲突。

望采纳

一般来说

头文件里包含:

1。引用的头文件

2。(外部)全局变量声明

3。结构体,类,枚举,宏定义

4。(外部)函数声明

5。......

源文件包含:

1。引用的头文件

2。全局变量定义

3。函数实现

4。仅本文件内使用的全局变量

5。也可以包含头文件的全部内容

6。......


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12034644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存