Bonjour,
J'ai un problème très bizarre avec mon fichier "fonc.h".
J'ai une structure déclarée à l'intérieur, comme ceci :
J'ai une fonction creer_liste_article(), définie dans un fichier "creer_liste_article.c" qui crée une liste de cette structure et qui se termine par un article dont le champ indice_article est à -1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 typedef struct { int indice_article; char auteur[AUTEUR_TAILLE]; char titre[TITRE_TAILLE]; char date_creation[MAX_DATE]; // jour mois annee heures minutes char chemin[CHEMIN]; char texte[BEAUCOUP]; int type; int publier; }ARTICLE;
Puis, pour connaitre le nombre d'élément, je fait ceci dans mon fichier "main.c" :D'une manière générale, tout ce passe bien. Seulement voilà, si je change quoi que ce soit à la déclaration de la structure, ça ne marche plus du tout. Les champs de la structure ne sont plus accessibles. Il suffit pour cela que je change le type de date_creation en int ou que je retire le champs texte...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for(t=0; (in->liste_articles+t)->indice_article != -1; t++);
J'ai comme l'impression que les modification ne sont pas prises en compte par Code::Blocks, et qu'il alloue toujours la même quantité de mémoire à ma structure alors qu'elle est sensée avoir changé.
Ça expliquerait tout, mais c'est complètement incompréhensible...
Merci d'avance
Partager