外部结构数组

Ray*_*yne 0 c arrays structure extern

我有一个全局结构数组声明为

struct _links link[255][255][255];
Run Code Online (Sandbox Code Playgroud)

在我的 main.c. 这个结构数组也用在另一个文件action.c中,我尝试在action.c中将它声明为extern,即

extern struct _links link[255][255][255];
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误消息“数组类型具有不完整的元素类型”。我不明白这是什么意思。我该如何解决这个问题?

谢谢你。

小智 5

struct _links在头文件中定义你的结构;将其包含在 my_main.c 和 action.c 中,分别编译它们并链接它们。

对于内置数据类型,它无需头文件即可工作。但是对于用户定义的数据类型,需要头文件。