Différences entre les versions de « Introduction au langage C/Allocation dynamique de mémoire »

Il peut être utile de créer des tableaux dynamiques à plusieurs dimensions. Dans ce cas, il faut créer des indirections de pointeurs multiples.
 
<source lang="C">unsigned int x = 2;//unsigned car les nombres négatifs ne sont pas pertinents ici.
unsigned int y = 3;//unsigned car les nombres négatifs ne sont pas pertinents ici.
int** tab = malloc(x * sizeof(int*));
unsigned int i;
unsigned int j;
int ** tab = malloc(x * sizeof(int*));
 
x = 2;
y = 3;
for (i = 0; i < x; i++)
{
tab[i] = malloc(y * sizeof(int));
for(j = 0; j < y; j++)
{
for (i = 0; i < x; i++)
{
for(j = 0; j < y; j++)
{
free(tab[i][j]);
}
free(tab[i]);
}
Utilisateur anonyme