Utilisation realloc tableaux structure

Nitrakz Messages postés 60 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 19 octobre 2010 - 30 mars 2010 à 08:40
Nitrakz Messages postés 60 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 19 octobre 2010 - 30 mars 2010 à 12:34
Bonjour,

Dans le cadre d'un projet je doit utiliser la fonction 'realloc', et j'ai malheureusement quelques soucis.
Voila mon problème:

Je travaille avec un tableau de structure de type:

t_datas *datas;

J'utilise le tableaux sans soucis tout fonctionne, mon problème apparait quand j'essaye de reallouer de la memoire pour ajouter un membre dans mon tableau:
Je procède comme ceci:

J'envoie a ma fonction un pointeur sur le tableau de structure:

int realloc_func(t_datas **datas, int new_size)
{
*datas = realloc(*datas, (new_size + 1) * sizeof(**datas));

Un segfault apparait ici des que j essaye de mettre quelques chose dans le nouveau membre de ma struct.
(...)
}

j'ai essayer plein de combinaison, avec des pointeur temporaire, ect, je comprend visiblement pas quelques chose, de cette satané fonction realloc.

Merci pour vos reponse.
Sam.

There is no place like 127.0.0.1 /

3 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
30 mars 2010 à 08:51
Salut,
je n'utilise jamais cette fonction, mais essaie de faire une notation un peu plus propre (à mon sens) :
*datas = (t_datas *)realloc(*datas, (new_size + 1) * sizeof(t_datas)); 


Ton nouvel élément foire, mais est-ce que tu as déjà les autres ?
0
Nitrakz Messages postés 60 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 19 octobre 2010
30 mars 2010 à 09:04
Okay ca semble marcher. Je pensait avoir tester aussi comme tu ma mis, mystère lol.
Merci bien en tout cas.

There is no place like 127.0.0.1 /
0
Nitrakz Messages postés 60 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 19 octobre 2010
30 mars 2010 à 12:34
Hum, j'ai l'impression que la reallocation de mémoire me détruit des donnés d'autres structure dans mon programme.
Est ce possible ?
0
Rejoignez-nous