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 :
ou ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TYPE** CopieEchiquier(TYPE** echiquier){ TYPE** copie; copie = echiquier; return copie; }
J'opterais plutot pour le 2em mais la premiere technique serait vraiment plus courte et claire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Merci de votre aide
Partager