Truc en c

firstmen2009 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Ange Angelique Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je cherche un site ou le code qui me permet d'allouer, de supprimer ... en général la manipulation d'un pointeur sur une structure en langage C.

1 réponse

Ange Angelique Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   4
 
D'abbord tu dois déclarer ta structure, soit avec un prototype que tu utilisera après soit directement la définition de la structure, par exemple pour un etudiant qui a un matricule tu travaillera avec une chaine qui contient une variable entière(matricule) et une chaine de caractéres (nom) ta structure doit contenir au moin un pointeur vers l'eregistrement suivant (la structure utilisée dans cet exemple est une LIFO):
//déclaration du type structure
struct etudiant { char nom[20];
int matricule;
struct etudiant *svt};
//***************création et initialisation de la structure******************
struct *precedant=NULL, *cours=NULL ; // etudiant precedant et etudiant en cours sont deux pointeurs vers une structure de type etudiant, ils sont initialisés a néant
// ************Insertion des elements à partir des info l'utilisateur***************
int b;
scanf("%d", &b);
while (b==1) // si l'utilisateur tape 1 alors il veut insérer sinon il sort de la boucle d'insertion
{
if (*precedant==NULL) //insertion 1er element
{
cours= malloc (sizeof(struct etudiant));//allocation espace mémoire pour l'enregistrement
scanf("%s","%d", cours->nom,&(cours->matricule));//insertion des informations
cours->svt=NULL;
precedant = cours;
}
else
{
cours= malloc (sizeof(struct etudiant));//allocation espace mémoire pour l'enregistrement
scanf("%s","%d", cours->nom,&(cours->matricule));//insertion des informations
cours->svt=NULL;
precedant->svt=cours;
precedant = cours;
}
}
// free permet de libérer l'espace mémoire alloué à l'element mais faire attention, mais jamais perdre les liens de chainage
free(cours);

et il te reste la recherche d'un element, l'insertion avant la base après le somment ou entre deux elements(dans d'utres cas hors mis LIFO).
voila j'espere que ça va t'aider, je n'ai pas essayé le code, donc à toi de bricoler un peu
0