Allocation dynamique d'un tableau

AGAR -  
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

comment allouer dynamiquement un tableau à 2 dimension en c à l'aide de la fonction malloc

A voir également:

1 réponse

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Bonjour,

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
0