Allocation dynamique

Fermé
Mathilde - 4 oct. 2004 à 18:16
 Guki - 4 oct. 2004 à 19:01
Bonjour,

J'ai une petite question sur l'allocation dynamique.

Comment alloue-t-on dynamiquement un tableau à n dimensions ?

Pour une dimension :
c'est, par exemple :
tab=(int *)malloc(MAX*sizeof(int));

Mais pour n dimensions, je ne vois pas.

Merci de votre aide.

Mathilde

1 réponse

Salut!


int *n1;
int *n2;

/* allocation de 255 entiers 32 bit*/

n1 = malloc(255 * sizeof(int));

/* reallocation du tableau */

n2 = realloc(n1, 65535 * sizeof(int));

/* pour 3 dimensions */

int x;
int y;
int z;

int n[x][y][z] = n2;

ne pas oublier qu'un tableau même sur 3 dimensions est un pointeur à une adresse donnée.
0