Résolution d'un problème d'allocation mémoire
This commit is contained in:
parent
7aeb779fd9
commit
886230db68
9
grille.c
9
grille.c
@ -33,7 +33,6 @@ void init_zeros(jeton* ptr, int count)
|
|||||||
{
|
{
|
||||||
for (int i=0; i<count; i++)
|
for (int i=0; i<count; i++)
|
||||||
{
|
{
|
||||||
printf("%p = 0\n", &ptr[i]);
|
|
||||||
ptr[i] = 0;
|
ptr[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,8 +51,7 @@ colonne *creer_colonne(int capacite)
|
|||||||
|
|
||||||
bool agrandir_colonne(int diff_taille, colonne *col)
|
bool agrandir_colonne(int diff_taille, colonne *col)
|
||||||
{
|
{
|
||||||
printf("J'appelle realloc(%p, %d + %d)\n", col->jetons, col->capacite, diff_taille);
|
jeton *jetons_nouv = realloc(col->jetons, (col->capacite + diff_taille)*sizeof(jeton));
|
||||||
jeton *jetons_nouv = realloc(col->jetons, col->capacite + diff_taille);
|
|
||||||
|
|
||||||
if (jetons_nouv == NULL)
|
if (jetons_nouv == NULL)
|
||||||
return false; // allocation impossible, on garde col->jetons tel quel
|
return false; // allocation impossible, on garde col->jetons tel quel
|
||||||
@ -62,10 +60,6 @@ bool agrandir_colonne(int diff_taille, colonne *col)
|
|||||||
// on met des zéros dans la partie nouvellement attribuée
|
// on met des zéros dans la partie nouvellement attribuée
|
||||||
init_zeros(col->jetons + col->capacite, diff_taille);
|
init_zeros(col->jetons + col->capacite, diff_taille);
|
||||||
|
|
||||||
|
|
||||||
printf("vérif travail init_zeros\n");
|
|
||||||
print_tab(col->jetons, col->capacite + diff_taille);
|
|
||||||
|
|
||||||
// free est appelé par realloc et les éléments sont copiés par realloc
|
// free est appelé par realloc et les éléments sont copiés par realloc
|
||||||
col->capacite += diff_taille;
|
col->capacite += diff_taille;
|
||||||
|
|
||||||
@ -75,7 +69,6 @@ bool agrandir_colonne(int diff_taille, colonne *col)
|
|||||||
|
|
||||||
bool ajouter_jeton(jeton j, colonne *col)
|
bool ajouter_jeton(jeton j, colonne *col)
|
||||||
{
|
{
|
||||||
printf("%d", col->hauteur);
|
|
||||||
if (col->hauteur >= col->capacite)
|
if (col->hauteur >= col->capacite)
|
||||||
{
|
{
|
||||||
if (!agrandir_colonne(Y_BLOCK_SIZE, col))
|
if (!agrandir_colonne(Y_BLOCK_SIZE, col))
|
||||||
|
Loading…
Reference in New Issue
Block a user