Sorunum initialisePlayer (olan) her zaman yapar programı BenC - struct pointer gösterici programı sonlandırır mı?</p> <pre><code>initialisePlayer(&player, &pos, direction); </code></pre> <p>ve bunun için bellek ayrılamadı: Nasıl
cevap
Sen initialize işlevine oyuncunun adresi olarak oyuncu geçmelidir yürütmek zaman çöktü başlangıç tarihi:
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;
}
daha sonra 'player' öğesini displayBoard (..) işlevine nasıl geçirirsiniz? teşekkür ederim! –
Tıpkı şimdi yaptığınız gibi. Sadece Oyuncu şimdi başlatıldı! –
Şimdi benim için çalışıyor, çok teşekkür ederim! –
Resmi metin olarak göndermeyin! – Olaf
Ve 'Player' yapısı için bellek ayırıyor musunuz? Sahip olduğun tek şey boş bir işaretçidir. –
Oyuncular için alan ayırmanız gerekiyor – Iancovici