传递结构以在c中的不同文件中运行

Passing a struct to function in diffrent file in c

我有两个单独的文件

在主函数文件1中:

struct entity{
        
        unsigned int pos_x;
        unsigned int pos_y;

        unsigned int health;
        
        
    } player;

    struct inventory{

            char helmet[length_item_names];
            char body[length_item_names];
            char legs[length_item_names];

            char items[inventory_space];

    } items;

    render_screen(rendered_size_x, inventory_size_x, screen_size_y, map, player, items);

文件 2:

void render_screen(int render_size_x, int inventory_size_x, int screen_size_y, char **field, struct entity player, struct inventory items){

    ...

}

当声明 render_screen 时,我收到一条错误消息,告诉我结构实体和结构清单不能声明为不完整的数据类型,或者当我这样做时

extern struct Player{
...
}

它告诉我我作为参数给出的数据类型是错误的

如何将结构作为参数提供

Barmar 工人的评论。

我必须将结构的声明放入头文件中,我必须将其包含在两个 c 文件中。

感谢您的快速帮助