Copie d'un tableau à double entrée
Salut,
Pour un programme, je cherche à faire une copie d'un tableau : TYPE**.
TYPE étant une structure que j'ai réaliser.
Bref j'ai créé un TYPE** echiquier avec les malloc necessaire et je voudrais faire une fonction qui copie echiquier et qui retourne cette copie.
J'ai deux possibilités : dois-je faire ca :
Code:
1 2 3 4 5
| TYPE** CopieEchiquier(TYPE** echiquier){
TYPE** copie;
copie = echiquier;
return copie;
} |
ou ca :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| TYPE** CopieEchiquier(TYPE** echiquier,int abscisse, int ordonnee){
TYPE** copie;
int i;
int j;
copie = (TYPE**)malloc(sizeof(TYPE*)*abscisse);
if (copie== NULL){
printf("Erreur d'allocation (colonnes)\n");
exit(1);
}
for ( i = 1 ; i <= abscisse ; i++){
copie[i] = (TYPE *)malloc(sizeof(TYPE)*ordonnee);
if (copie[i] == NULL){
printf("Erreur d'allocation (ligne %d)\n",i);
exit(1);
}
}
for ( i = 1 ; i <= abscisse ; i++){
for ( j = 1 ; j <= ordonnee ; j++){
copie[i][j] = echiquier[i][j];
}
}
return copie;
} |
J'opterais plutot pour le 2em mais la premiere technique serait vraiment plus courte et claire
Merci de votre aide