gpt4 book ai didi

c - 如何声明 extern typedef struct?

转载 作者:太空狗 更新时间:2023-10-29 17:19:27 25 4
gpt4 key购买 nike

我有两个 c 文件,具有功能的 foo.c 和测试 foo.c 功能的 test_foo.c。

有没有办法在不使用头文件的情况下访问我在 foo.c 中定义的 struct typedef BAR?到目前为止,我能够避免使用 h 文件,以便整个程序由 foo.c 组成。谢谢。

foo.c   
typedef struct BAR_{...} bar;
BAR *bar_new(...) {..}

test_foo.c
extern BAR *bar_new(...)

错误:预期的声明说明符或“BAR”之前的“...”

最佳答案

答案是有的,你应该改用头文件。您可以将结构 typedef struct BAR_{...} bar; 的定义复制到 test_foo.c 中,它将起作用。但这会导致重复。每个有效的解决方案都必须在 test_foo.c 中为编译器提供结构的实现。如果在这种情况下适合您,您也可以使用 ADT。

关于c - 如何声明 extern typedef struct?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3227654/

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