Copie d'une structute en c debutant
Résolu
allezlolo
-
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
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
A voir également:
- Copie d'une structute en c debutant
- Copie cachée - Guide
- Super copie - Télécharger - Gestion de fichiers
- Copie écran samsung - Guide
- Copie disque dur - Guide
- Copie rapide - Télécharger - Gestion de fichiers
5 réponses
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()...
sinon tu copies chaques champs avec des strcpy()...
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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