Allocation dynamique de mémoire
Bonjour,
j'essaie de créer une fonction pour allouer dynamiquement des tableaux à une dimension et une autre pour allouer des tableaux à deux dimensions.
Toutefois, lorsque j'exécute mon programme, il plante c'est pourquoi je fais appel à votre aide.
CODE :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #include <stdio.h>
#include <stdlib.h>
void creerTableau1D(void **tab, int taille)
{
*tab = malloc (sizeof (**tab) * taille);
if(*tab == NULL)
exit(EXIT_FAILURE);
}
void creerTableau2D(void ***tab, int base, int hauteur)
{
int i = 0;
*tab = malloc (sizeof (**tab) * base);
if(*tab == NULL)
exit(EXIT_FAILURE);
for (i = 0; i < base; i++)
{
(*tab)[i] = malloc (sizeof (***tab) * hauteur);
if((*tab)[i] == NULL)
exit(EXIT_FAILURE);
}
}
int main(void)
{
int i = 0, j = 0;
int **tab2D = NULL;
int *tab1D = NULL;
creerTableau1D(&tab1D, 10);
creerTableau2D(&tab2D, 5, 10);
for(i = 0; i < 10; i++)
{
tab1D[i] = 0;
}
for(j = 0; j < 10; j++)
{
for(i = 0; i < 5; i++)
{
tab2D[i][j] = 0;
}
}
return 0;
} |