TABLEAU de STRUCTURE [Résolu]

Signaler
Messages postés
50
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
7 janvier 2009
-
Messages postés
50
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
7 janvier 2009
-
Bonjour Comment en C faire un tableau de pointeur pointant sur des structures.
dans le but de trier ce tableau ex "tab.nom"  en modifiant les adresses comtenues dans le tableau de pointeur. en utilisant une fonction tri en passant le tableau a la fonction.

En C et pas en C++ s'il vous plait.

struct enreg {
   char titi [32];
   char nom [32];
   int age;
};

struct enreg   *   P_enreg;

P_enreg = (struc enreg *) calloc ( 100 * sizeof (struc enreg *));

// fonction rangement du tableau

//fonctin tri

mon broblème est pendant le tri je n'arrive pas a faire
   struct enreg * tempo;
 
   //tri
   tempo = P_enreg [i];
   P_enreg[i] =  P_enreg[j];
  P_enreg[j] = tempo;

Erreur de compile, je n'arrive pas à compiler ces trois lignes.

Timy94</gras>

3 réponses

Messages postés
14952
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
25 janvier 2021
93
Salut Timy!
Fais attention à ne pas te mélanger. D'après ton code, P_enreg est un tableau de structure, et non pas un tableau de pointeurs de structures...
struct enreg ** ppEnreg;

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
50
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
7 janvier 2009

Oui en fait j'ai ensuite déclaré mon tableau de pointeur suivant le format .
struct mystruct * TabStruct [10]

Ensuite si j'ai besoin de plus je fait un realloc sur le tableau

Ca marche encore merci

Timy94</gras>
Messages postés
50
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
7 janvier 2009

En tait je ne m'en sort pas
J'ai une structure Ok pour la declaration

Je veux un tableau de pointeur. Ces pointeurs doivent  pointer sur des stuctures.

Je veux reserver les zones mémoires dynamiquement. agrandir le tableau de pointeur en cours de programme et bien sur réserver la taille des  nouvelle struct en mém.

struct enreg {
   char titi [32];
   char nom [32];
   int age;
};

struct mystruct * P_enreg [1];

puis en cours de programme je fais
P_enreg = (struc enreg *) calloc ( 100 * sizeof (struc enreg *));

strcpy (P_enreg[50]->titi,"TITI");

P_enreg[50] = P_enreg[10];  // Pour croiser pourquoi, pas en vu d'un tri

Ca marche?


Timy94</gras>