Retour de fonction pour allocation pointeur
Bonjour,
Toujours avec mes pointeurs je me heurte à un nouveau problème. J'ai créé une fonction NewStack() qui créé une pile tout beau tout propre avec le retour de cette pile créé mais après je n'arrive pas à utiliser correctement ce retour dans une autre fonction où je dois déclarer plusieurs piles, dans ce cas, ma fonction IsPalindrome().
J'ai un message erreur de ce type quand j'exécute:
exo.sh(1080,0x7fff74b9b300) malloc: *** error for object 0x7fce01404b68: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
Je n'ai pas trouvé de solutions, merci bien de vos réponses !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Stack NewStack()
{
int i;
Stack new = malloc(sizeof(Stack));
for (i = 0; i < 100; ++i)
{
new->tab[i] = ' ';
}
new->summit = -1;
return new;
}
int IsPalindrome(char tab[], int size)
{
Stack first = NewStack();
Stack second = NewStack();
int i;
int test;
for (i = 0; i < size; ++i)
Push(first, tab[i]);
if (size%2 == 0)
} |