我的问题是当我执行它时initialisePlayer()总是使程序崩溃
最佳答案
您应该将玩家作为玩家的地址传递给初始化函数:
initialisePlayer(&player, &pos, direction);
并在初始化时为其分配内存:
void initialisePlayer(Player **player, Position * position, Direction direction);
{
Player *p= malloc(sizeof(Player));
p->position.x = position->x;
p->position.y = position->y;
p->direction = direction;
p->moves = 0;
*player= p;
}
关于C - 传递结构指针会终止程序?如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36478712/