【C语言】防止头文件和全局变量重复定义

 2024-01-22 02:03:34  阅读 0

昨天下午在H文件中定义全局变量导致链接时提示多个obj文件中变量重复。

解决方法如下:

将变量移到C文件中进行定义,然后将其添加到H文件中的变量之前。

这样,当其他C文件引用全局变量时,变量符号将被链接而不是重新生成。

附上防止H文件重复包含的方法:

c.语言头文件_c语言 strlen 头文件_c语言头文件studio

# _H 文件名_H_

#文件名_H_

//H文件内容

#万一

这个关键词实在是太恶心了。 在定义()的时候,this其实是可以省略的,这样会让你混淆它到底是声明还是定义。 下面分为两类:变量和函数:

特别是对于变量。

int a;//声明一个全局变量a

整数a; //定义一个全局变量a

int a =0;//定义一个全局变量a并赋予初始值。 一旦给出赋值,它一定是一个定义,定义会分配存储空间。

整数a=0; //定义一个全局变量a并赋予其初始值。

该变量声明后不能直接使用,需要先定义才能使用。

第四个和第三个是一样的,都是定义一个可以外部使用的全局变量,并给它一个初始值。

你很困惑,他们看起来如此相似。 但定义只能出现在一处。 也就是说,是否是int a; 或者int a=0;,只能出现一次,但是int a可以出现很多次。

当你想引用一个全局变量时,你必须声明 int a; 此时不能省略,因为省略的话就变成了int a; 这是一个定义,而不是声明。

标签: 变量 定义 全局

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码