Problèmes diverses
Fermé
zam
-
26 oct. 2015 à 16:32
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 oct. 2015 à 21:58
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 oct. 2015 à 21:58
A voir également:
- Problèmes diverses
- Sur quelle page se trouve le titre "la cheminée" dans les informations diverses ? - Guide
- Appliquez à tous les paragraphes du document, à l’exception des titres ou sous-titres, cette mise en forme : les textes doivent être en retrait de 2 cm par rapport aux marges à gauche et à droite, chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe suivant. sur quelle page se trouve le titre "la cheminée" dans les informations diverses ? - Forum LibreOffice / OpenOffice
- Scribus - comment régler hauteur espace entre 2 paragraphes ✓ - Forum Bureautique
- Mise en forme des paragraphes - Forum Word
- Appliquer à tous les paragraphes du document, à l'exception des titres ou sous-titres, cette mise en forme : les textes doivent être en retrait de 2 cm par rapport aux marges à gauche et à droite, chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe suivant. sur quelle page se trouve le titre "la cheminée" dans les informations diverses ? - Forum Word
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
Modifié par fiddy le 26/10/2015 à 16:52
Modifié par fiddy le 26/10/2015 à 16:52
Bonjour,
Pour ma part, j'opterais pour un problème dans ton code...
Peux-tu poster ton code en utilisant la balise code.
Exemple :
<code c>
ici tu mets ton code
</code>
Google is your friend
Pour ma part, j'opterais pour un problème dans ton code...
Peux-tu poster ton code en utilisant la balise code.
Exemple :
<code c>
ici tu mets ton code
</code>
Google is your friend
26 oct. 2015 à 18:17
comme par magie, j'ai copié mon code dans un autre fichier.c je l'ai exécuté et hop aucune erreur. Miracle.. Mais j'ai récupéré d'autres erreurs, dont celle là que je te fais parvenir.
A chaque itération, tab[j] prend la valeur de somme, chose qui n'est absolument pas marquée dans ce code. Quand je ré-ouvre ce code dans un autre fichier.c, miracle, cette erreur disparait. Je perds foi en mon ordi..
26 oct. 2015 à 18:48
Ensuite sur ton code :
float *tab;
tab=calloc(taille,sizeof(float));
Pourquoi passer par un pointeur ?
D'autant qu'il y a une fuite de mémoire par la suite : tab=(*s).reponses;
Au plus simple : float tab;
Et tab=(*s).reponses;
Sinon, ton problème n'est pas bien clair. Je te conseille de faire le ménage au niveau de tes fichiers.c, de tout bien fermer, de tout supprimer les fichiers objets. Et de recompiler tout ça proprement.
Cdlt,
26 oct. 2015 à 20:25
J'alloue mes matrices avec une taille n, qui donnera une matrice carrée pour la première. Je crois donc nécessaire de passer par un *tab pour stocker *reponses, non?
Que veux-tu dire par "fuite de mémoire"?
Pour ce qui est du reste, une chose est sûre, ça ne semble pas venir du code. A un moment donné, j'ai voulu décomposer mon code c en plusieurs codes c en les incluant dans le code principal. C'est à partir de là que ça a bugge, mais c'est bizarre car j'ai déjà fait ça plusieurs fois, avec les ifndef et la syntaxe qui va avec.
26 oct. 2015 à 20:28
Je rectifie.
26 oct. 2015 à 21:58
C'est nécessaire d'avoir tous les éléments pour donner une réponse précise.
Pour la fuite mémoire, tu fais :
float *tab;
tab=calloc(taille,sizeof(float));
Ce qui signifie que tu crées une zone mémoire dans le heap et que tab pointe dessus.
tab=(*s).reponses;
Là, tu écrases l'adresse mémoire pointant vers la zone allouée. Mais cette zone existe toujours puisque tu n'as pas utilisé de free(tab)...
Pour le reste, il faut savoir qu'en C, ce n'est pas parce qu'un code fonctionne correctement, qu'il compile sans erreur qu'il n'en contient pas... C'est d'ailleurs souvent pour cette raison, qu'on a l'impression que son ordinateur a des comportements étranges...