在新的c程序中使用我的链表代码

在新的c程序中使用我的链表代码,c,C,提前道歉,因为这似乎非常基本 我有我的链接列表文件linkedList.c,我想把它包括在我的新的c文件中,这样我就不必再次编写整个链接列表。在Java中,我只需要将它放在同一个文件夹中,然后我就可以在新文件中创建一个linkedList类的对象,但是C似乎不是这样工作的。如果我尝试使用 #include "linkedLIst.c" 在我的新文件开始时,我收到了错误,因为main现在已经与布尔变量一起定义了两次。我该如何解决这个问题呢?您可以#包括任何类型的(语法上有效的)C代码,但通常不

提前道歉,因为这似乎非常基本

我有我的链接列表文件linkedList.c,我想把它包括在我的新的c文件中,这样我就不必再次编写整个链接列表。在Java中,我只需要将它放在同一个文件夹中,然后我就可以在新文件中创建一个linkedList类的对象,但是C似乎不是这样工作的。如果我尝试使用

#include "linkedLIst.c" 
在我的新文件开始时,我收到了错误,因为main现在已经与布尔变量一起定义了两次。我该如何解决这个问题呢?

您可以
#包括
任何类型的(语法上有效的)C代码,但通常不应该(按照惯例)包括
.C
文件。请阅读更多有关该网站的信息

在实践中,你应该考虑做一些(用于重用),并将你的共享代码分成一个<代码> .h < /Cult>头文件(包含定义),你将在代码< >中包含“< /代码>重新使用”和一个实现<代码> .c>代码>文件。当然,不要在共享源代码中定义任何

main
。在一些简单的情况下,在某些操作系统上,您还可能共享一个(或少数几个)(以及相关的头文件)

共享头将声明函数和
extern
变量(以及
#定义一些宏)。它还可以包含短
静态内联
函数的定义(及其主体)

您的共享实现将定义这些(和其他)函数和变量

C编程需要很多约定(您需要定义自己的约定)查看现有示例(一些源代码来自或来自Linux发行版)。对于可重用容器库,请查看(来自GTK)和(使用许多预处理器技巧)以及许多其他内容

因为C没有任何概念,所以明智的做法是(出于可读性和其他原因)有一个一致的命名约定,例如,以某个公共前缀开始库中的所有公共名称(函数、变量和宏的标题)。

您可以
#包括
任何类型的(语法有效的)C代码,但通常不应该(按照惯例)包含
.c
文件。请阅读更多有关该网站的信息

在实践中,你应该考虑做一些(用于重用),并将你的共享代码分成一个<代码> .h < /Cult>头文件(包含定义),你将在代码< >中包含“< /代码>重新使用”和一个实现<代码> .c>代码>文件。当然,不要在共享源代码中定义任何

main
。在一些简单的情况下,在某些操作系统上,您还可能共享一个(或少数几个)(以及相关的头文件)

共享头将声明函数和
extern
变量(以及
#定义一些宏)。它还可以包含短
静态内联
函数的定义(及其主体)

您的共享实现将定义这些(和其他)函数和变量

C编程需要很多约定(您需要定义自己的约定)查看现有示例(一些源代码来自或来自Linux发行版)。对于可重用容器库,请查看(来自GTK)和(使用许多预处理器技巧)以及许多其他内容


因为C没有任何概念,所以明智的做法是(出于可读性和其他原因)有一个一致的命名约定,例如,通过一些公共前缀启动库的所有公共名称(函数、变量和宏的标题)。

您需要定义一个头文件,
linkedList.h
,并在其中声明您的链表函数原型,您可能已经在
linkedList.c
文件中定义了它。然后,您可以使用
'#include linkedList.h'
重用代码。

您需要定义一个头文件
linkedList.h
,并在其中声明您的链表函数原型,您可能已经在
linkedList.c
文件中定义了该原型。然后,您可以使用
“#include linkedList.h”
重用代码。

这是标准的C编译。你可以在任何一本C语言书中或通过搜索找到。Stackoverflow不适合询问教程式的问题。首先,可重用模块不应包含main。其次,C要求您只包含一个接口,然后在头(
linkedList.h
)中声明函数。您可以在源文件(
linkedList.c
)中定义链表函数,而不使用
main()
。您将旧的主程序放入另一个源文件(
main1.c
),其中包括
linkedList.h
。您将新的主程序放在另一个源文件(
main2.c
)中,该源文件还包括
linkedList.h
。将
linkedList.c
编译为对象文件
linkedList.o
。将该对象文件与
main1.c
链接,以构建旧程序;您将该对象文件与
main2.c
链接以构建新程序。这是标准的c编译。你可以在任何一本C语言书中或通过搜索找到。Stackoverflow不适合询问教程式的问题。首先,可重用模块不应包含main。其次,C要求您只包含一个接口,然后在头(
linkedList.h
)中声明函数。您可以在源文件(
linkedList.c
)中定义链表函数,而不使用
main()
。您将旧的主程序放入另一个源文件(
main1.c
),其中包括
linkedList.h
。您将新的主程序放在另一个源文件(
main2.c
)中,该源文件还包括
linkedList.h
。您可以编译
linkedLi