Allocation dynamique d'un tableau
Bonjour,
comment allouer dynamiquement un tableau à 2 dimension en c à l'aide de la fonction malloc
comment allouer dynamiquement un tableau à 2 dimension en c à l'aide de la fonction malloc
1 réponse
-
ContributeurBonjour,
Voici un exemple fait en live (il en existe plein d'autres sur internet).
Le mieux serait de faire des fonctions pour faire plus propre, surtout si tu dois réutiliser l'allocation pour d'autres tableaux.#include <stdio.h> #include <stdlib.h> #define X 5 #define Y 5 int main (void) { int i; int **tab; /*allocation*/ tab=malloc(X*sizeof(*tab)); if(tab==NULL) { fputs("erreur à l'allocation\n",stderr); return EXIT_FAILURE; } for(i=0; i<X; i++) { tab[i]=malloc(Y*sizeof(**tab)); if(tab[i]==NULL) { fputs("erreur à l'allocation\n",stderr); return EXIT_FAILURE; } } /*désallocation*/ for(i=0; i<X ; i++) free(tab[i]), tab[i]=NULL; free(tab), tab=NULL; return 0; }
Cdlt,
Google is your friend