1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
#include <stdlib.h> // pour size_t
// Allocation d'un tableau de 'nb_lignes' de tableaux de 'nb_colonnes' objets ayant la taille 'taille_element'
void ***alloc_2d( size_t taille_element , int nb_lignes , int nb_colonnes )
{
void ***ptr = calloc( nb_lignes , sizeof(*ptr) ); // pour un tableau utiliser calloc() plutôt que malloc() qui n'est adapté que pour les char.
// ...
for ( int i = 0 ; i < nb_lignes ; i++ )
{
ptr[i] = calloc( nb_colonnes , taille_element ); // alloue le nb d'éléments, au bon alignement et à la bonne taille
// ...
}
return ptr;
}
// Allocation d'un tableau de 'nb' objets ayant la taille 'taille_element'
void **alloc_1d( size_t taille_element , int nb )
{
void **ptr = calloc( nb , taille_element ); // alloue le nb d'éléments, au bon alignement et à la bonne taille
// ...
return ptr;
} |
Partager