Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结构、typedefs和c头文件;如何在没有.c文件的情况下集成_C_File_Struct - Fatal编程技术网

结构、typedefs和c头文件;如何在没有.c文件的情况下集成

结构、typedefs和c头文件;如何在没有.c文件的情况下集成,c,file,struct,C,File,Struct,我有一个项目,其中我需要大量的结构,作为一个例子,我将使用这个代码字节(不是来自项目) 我的问题是,我是否可以拥有一个包含这些typedef和structs(即structures.h)的头文件,而不需要相关的代码文件(structures.c)?或者正确的方法是什么? 谢谢没有硬性规定,具有给定名称的头文件必须具有相同名称的相应源文件 如果您的头文件只有struct类型定义和typedef,那么就不需要有相应的.c文件。如果文件具有函数或全局变量声明,则需要在.c文件中的某个位置定义它们,但是

我有一个项目,其中我需要大量的结构,作为一个例子,我将使用这个代码字节(不是来自项目)

我的问题是,我是否可以拥有一个包含这些typedef和structs(即structures.h)的头文件,而不需要相关的代码文件(structures.c)?或者正确的方法是什么?
谢谢

没有硬性规定,具有给定名称的头文件必须具有相同名称的相应源文件


如果您的头文件只有struct类型定义和typedef,那么就不需要有相应的.c文件。如果文件具有函数或全局变量声明,则需要在.c文件中的某个位置定义它们,但是该文件不必与.h文件同名。

Yes,您可以有一个没有同名c文件的头文件。您需要了解头文件只是
c
文件中包含的代码块,带有相应的指令。如果您有structures.c,您会在其中放什么?虽然语言中没有,不同实体采用的代码样式中通常有一种,假设每个头文件都需要一个单元测试文件。我很感激。每当stack让我将你的答案标记为答案时,我都会(说是9分钟)小心。“结构定义”在这里是一个误导性的术语。在头中定义struct对象几乎是不合适的,但当然,OP并不是这样描述的。他的定义是类型。
  typedef struct THING{
        int a;
        int b;
        float stuff;
    } THING;