Copie d'une structute en c debutant

Résolu
allezlolo -  
 allezlolo -
Bonjour,

Voilà, mon exemple est assez simple, je souhaite trier un tableau d'équipes en fonction de leurs points.

La fonction me renvoyant le nombre de points en fonction d'un tableau de résultats est déjà faite.

Voici mon type équipe :

typedef struct equipe {
char *nom;
char * tab[24];
}equipe;

Voici maintenant ma fonction de tri :

void tri (equipe e[], int nombreEquipes, match m[], int nombreMatchs) {

int i,j,k =0;
equipe aux;
for (i; i < nombresEquipe; i++) {
for (j = i + 1; j < nombresEquipe; j++) {
if (points(e[i],m,nombresMatchs) > points(e[j],m,nombresMatchs)) {
// copier dans aux le contenu de e[i]
// copier dans e[j] le contenu de e[i]
// copier dans e[i] me contenu de aux
}
}
}

Je cherche donc à trouver une fonction me permettant de copier des structures pour pouvoir faire mes échanges dans mon tableau.

merci d'avance pour votre aide
Configuration: Linux
Firefox 2.0.0.6

5 réponses

  1. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    aux=e[i];
    e[i]=e[j];
    e[j]=aux;
    essaye ça
    1
    1. allezlolo
       
      Salut,

      merci je vais essayer ça mais je trouve cela bizarre, on ne peux pas copier des string de cette manière mais l'on pourrait copier des structures entières ?

      cdt,

      guillaume
      0
  2. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    ben ça ça longtemps que j'ai pas utilisé les structures mais il me semble que l'on peut les copié comme ça
    sinon tu copies chaques champs avec des strcpy()...
    0
  3. Mahmah Messages postés 497 Statut Membre 125
     
    Bonjour,

    C'est exact, les chaînes de caractères ne sont pas copiées. Seulement les adresses mémoire où sont réellement ces chaînes. Des pointeurs donc. La structure originale et la structure copiée possèdent les mêmes adresses mémoires vers des zones qui contiennent des caractères. Si une chaîne est modifiée elle le sera pour les deux structures.

    M.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. allezlolo
     
    merci pour cette précision ;)
    0