- Zom,
Bonjour, d’abords désolé si je pollue le forum, j’ai cherché avant de poster mais je n’ai rien trouvé
Voilà, je me retrouve avec cette fonction en sachant que:
-coup est une structure quelconque
-plateauJeu est une structure contenant: un tableau de coup un entier "max" représentant la taille du tableau un entier "prochaineCase" qui donne quelle est la prochaine case du tableau quand laquelle il faut écrire
Cette fonction a pour but de doubler la taille du tableau si jamais il est plein
Étant encore étudiant je voulais être sur que la libération de mémoire était bien effectué pour ne pas prendre de mauvaise habitude
void augmenteTaille (plateauJeu* p)
{
if (p->prochaineCase==1+p->max)
{
plateauJeu* plo;
plo->tab= (coup*) malloc(2*p->max*sizeof(coup));
for (int i=0;i<p->max;i++)
{
plo->tab[i]=p->tab[i];
}
free(p->tab);
p->tab=plo->tab;
p->max+=p->max;
}
}
Je suspecte aussi qu’il y ai une erreur ou deux, je pense pas encore avoir saisis les pointeurs et mon compilateur me renvoie :
Pointeur.c:62:11: attention: « plo » pourrait être utilisé sans être initialisé dans cette fonction
[-Wmaybe-uninitialized]
62 | plo->tab= (coup) malloc(2p->max*sizeof(coup));
Merci beaucoup !