Modification d'un tableau dans une fonction
Fermé
shub06
-
5 déc. 2012 à 16:36
roptat Messages postés 276 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 - 5 déc. 2012 à 17:18
roptat Messages postés 276 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 - 5 déc. 2012 à 17:18
A voir également:
- Modification d'un tableau dans une fonction
- Tableau croisé dynamique - Guide
- Fonction si et - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Suivi de modification word - Guide
1 réponse
roptat
Messages postés
276
Date d'inscription
samedi 20 octobre 2012
Statut
Membre
Dernière intervention
26 juillet 2013
77
5 déc. 2012 à 17:18
5 déc. 2012 à 17:18
Oulah... Tu vas avoir des erreurs de segmentation ! Ta fonction ajouter ne vérifie pas que l'emplacement mémoire où elle écrit lui est reservé.
Il vaut mieux faire une liste chainée (ta structure contient un flotant et un pointeur vers la prochaine note, représentée par la même structure. Le pointeur peut être null s'il n'y a pas de note supplémentaires). Ou alors tu fait un free suivit d'un malloc dans la fonction ajouter.
Pour utiliser la fonction ajouter, tu dois envoyer un pointeur vers tab et non pas sa valeur. En fait, la valeur est bien entrée mais tu modifie la taille de la copie, et non de l'original. La fonction afficher s'arretera avant la fin car pour elle, la taille n'aura pas changé.
Il vaut mieux faire une liste chainée (ta structure contient un flotant et un pointeur vers la prochaine note, représentée par la même structure. Le pointeur peut être null s'il n'y a pas de note supplémentaires). Ou alors tu fait un free suivit d'un malloc dans la fonction ajouter.
Pour utiliser la fonction ajouter, tu dois envoyer un pointeur vers tab et non pas sa valeur. En fait, la valeur est bien entrée mais tu modifie la taille de la copie, et non de l'original. La fonction afficher s'arretera avant la fin car pour elle, la taille n'aura pas changé.