Bonjour,

Dans le cadre d'un exo je dois programmer une liste chainée dynamique.

Je develloppe sous dev c++ et je gere l'exo sous forme de projet, j'ai donc un fichier pour mon main et d'autres pour les fonction s et procedures.

Dans mon main j'ai declaré une structure et un type pointant sur cette structure.

Mon type est parfaitement reconu dans le main mais dès que je veux m'en servir dans un autre fichier source le compilateur ne le reconnait pas. Alors faut il le stocker dans une bibliotheque et l'inclure dans chaque source j'ai creusé le sujet et j'ai rien trouvé alors si vous avez une idée sur la question ca m'aiderais beaucoup.

merci d'anvance.

ca c'est mon main

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <stdlib.h>
//************************DECLARATION DES TYPES ET STRUCTURES******************
 typedef struct element
         {
          //stockage de la valeur
          int val;
          //lien vers element suivant
          struct element *suivant;
         }t_el;
//*****************************************************************************
int main (int argc,char *argv[])
{
//************************DECLARATION DES VARIABLES****************************
 t_el *deb_liste;
 int val;
//*****************************************************************************
 
 //initialisation du debut de liste
 deb_liste = NULL;
 
 //ajout d'un element en debut de liste
 printf ("Saisir la valeur de l'element a ajouter : ");
 scanf ("%d",&val);
 
 printf ("\n");
 
 deb_liste = insertion (deb_liste,val);
 
 printf ("val = %d\n",deb_liste->val);
 
 system ("PAUSE");system ("CLS");
}
 
 
et ca c'est une fonction stocker dans un fichier a part
 
t_el *insertion (t_el *debut,int val)
//cette fonction a pour but d'ajouter un element en debut de liste
 
//parametre par valeur    val    type  entier
//parametre par adresse   debut  type  pointeur de structure element
{
 //variables locales
 t_el nouv;
 //*****************
 
 //reservation de la memoire pour le nouvel element
 nouv = (t_el*) malloc (sizeof (t_el));
 
 //remplissage des champs
 nouv->val     = val;
 nouv->suivant = NULL;
 
 //edition des liens
 nouv->suivant = debut;
 debut         = nouv;
 
 //renvoie du debut de liste
 return (debut);
}
et les messages d'erreurs

1 H:\Prog C\Serie 3\Exo 1\insertion.c syntax error before '*' token
1 H:\Prog C\Serie 3\Exo 1\insertion.c syntax error before '*' token
H:\Prog C\Serie 3\Exo 1\insertion.c In function `insertion':
8 H:\Prog C\Serie 3\Exo 1\insertion.c `t_el' undeclared (first use in this function)
(Each undeclared identifier is reported only once
for each function it appears in.)
8 H:\Prog C\Serie 3\Exo 1\insertion.c syntax error before "nouv"
12 H:\Prog C\Serie 3\Exo 1\insertion.c `nouv' undeclared (first use in this function)
12 H:\Prog C\Serie 3\Exo 1\insertion.c syntax error before ')' token
15 H:\Prog C\Serie 3\Exo 1\insertion.c `val' undeclared (first use in this function)
16 H:\Prog C\Serie 3\Exo 1\insertion.c `NULL' undeclared (first use in this function)
19 H:\Prog C\Serie 3\Exo 1\insertion.c `debut' undeclared (first use in this function)
H:\Prog C\Serie 3\Exo 1\Makefile.win [Build Error] [insertion.o] Error 1