Programmation Avancée en C


malloc_mat.c

00001 #include <stdlib.h>
00002 #define L 14  // nombre de lignes
00003 #define C 5   // nombre de colonnes
00004 
00005 int main()
00006 {
00007     int ** mat; // le pointeur sur la matrice
00008     int i;
00009 
00010     /* Allocation de la matrice L*C */ 
00011     mat = (int **) malloc(L * sizeof(int *)); // allocation de L lignes /*@\label{lst:malloc_mat:1}@*/
00012     for (i = 0; i < L; i++) 
00013         mat[i] = (int *) malloc(C * sizeof(int)); /*@\label{lst:malloc_mat:2}@*/
00014 
00015     // ... utilisation de mat
00016 
00017     /* Libération de l'espace alloué */
00018     for (i = 0; i < L; i++) 
00019         free(mat[i]);
00020     free(mat);
00021     return 0; 
00022 }