C 如何在另一个结构指针中分配给结构指针

C 如何在另一个结构指针中分配给结构指针,c,pointers,struct,C,Pointers,Struct,在另一个结构指针中分配给结构指针时遇到问题 结构如下所示: 标题.h 在另一个函数中,我调用另一个函数,该函数应该更改指向此结构的指针,这也是向我发出警告的函数: 程序c 我的代码有什么问题 更新:现在代码运行了,这是一个简单的错误。结构“lastmove”现在更改为 typedef struct { char a, b; player *mover; player *previous; } lastmove; 那么,在您的代码中,mover是指向typep的指针,它在

在另一个结构指针中分配给结构指针时遇到问题

结构如下所示:

标题.h 在另一个函数中,我调用另一个函数,该函数应该更改指向此结构的指针,这也是向我发出警告的函数:

程序c 我的代码有什么问题

更新:现在代码运行了,这是一个简单的错误。结构“lastmove”现在更改为

typedef struct {
    char a, b;
    player *mover;
    player *previous;
} lastmove;

那么,在您的代码中,
mover
是指向type
p
的指针,它在任何地方都没有定义-您的意思是

typedef struct {
    char a, b;
    player *mover;
    player *previous;
} lastmove;

另外,我认为你的分配有问题。您为
播放器*
分配了足够的空间,这是指向播放器的指针,而您需要的是
播放器

的足够空间。那么,在您的代码中,
移动器
是指向类型
p
的指针,它在任何地方都没有定义-您的意思是

typedef struct {
    char a, b;
    player *mover;
    player *previous;
} lastmove;

另外,我认为你的分配有问题。您为
玩家*
分配了足够的空间,这是指向玩家的指针,而您需要的是为
玩家
分配足够的空间

是否要使用类似于
lmv->mover=(p*)p,或者你只是说p是“玩家”?你想使用像
lmv->mover=(p*)p,或者你只是说p是“玩家”?
typedef struct {
    char a, b;
    player *mover;
    player *previous;
} lastmove;