gpt4 book ai didi

c - 定义一个在 C 头文件中传递结构的函数

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:36 25 4
gpt4 key购买 nike

标题有一些问题。我有一个 header data.h,其中包含 typedef struct newPerson 的结构信息。

data.h 用于我的源代码menu.c。在 menu.c 中,我有一个函数,void addStudentRecord(newPerson pers)。代码编译并按预期工作。

但是,我需要将所有函数添加到我的 menu.h header 中。当我将 void addStudentRecord(newPerson pers); 添加到我的 menu.h 时,我收到此错误 unknown type name ‘newPerson’

我试图通过添加 #include "data.h 来解决这个问题,但这只会给我带来更多错误。我想知道如何定义一个在头文件中采用结构的函数?

最佳答案

您可以将指向不完整结构类型的指针传递给函数,但如果您要传递结构的副本,它必须是完整类型。也就是说,您必须具有完整的 struct structname { ... } 定义可见才能传递结构的副本。

data.h 中定义的类型似乎是不完整的类型,因此您不能使用它来声明需要结构副本的函数。但是您可能希望函数无论如何都接受指向结构的指针。

另见:

关于c - 定义一个在 C 头文件中传递结构的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com