用C语言添加手动编写的标题

时间:2014-10-16 07:23:06

标签: c

我正在为收音机编写代码,其中包含许多子函数和标题函数。我创建了两个标题“simulation_params.h”,其中模拟参数可以更改,“global_constants.h”,其中存在查找表。我需要在我的程序中的多个位置使用这两个标头。

因此,当我在两个不同的函数中定义这些头时,请说“main.c”和“scrambling.c”。编译器显示错误,说“首先在这里定义”,“x的多重定义”。 我在标题中使用了ifndef和#define。尽管如此,它显示了这个错误。

1 个答案:

答案 0 :(得分:0)

在C中声明和定义变量之间存在区别。

声明一个外部变量给它一个名字。定义它会分配内存并初始化它。

变量只能定义一次。它可以在需要它的所有模块中声明。通常,您在.c文件中定义一个变量,并通过在.h文件中声明它来共享它。所有需要变量的模块都包含.h文件。

如果在.h文件中定义变量并将.h文件包含在多个模块中,则定义冲突,链接器会抱怨。

因此,如果您需要对共享常量进行任何类型的初始化,则需要创建一个global_constants.c文件并将其与其余模块链接。