Bonjour,

Je cherche à allouer de la mémoire en utilisant soit malloc ou calloc. J'ai lu beaucoup de choses sur la toile mais c'est des exemples pour des tableaux à une ou deux dimensions .

exemple pour un tableau 1 dimension :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
int* tab = NULL;
    tab = malloc(largeur * sizeof(int));
et pour un tableau a 2 dimensions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
int ** tab = malloc(nblignes*sizeof(int));
for(int i = 0, i < nblignes; ++i)
{
    tab[i] = malloc(nbcolonnes*sizeof(int));
}
//et tab[x][y] pour acces aux elements
 
//libération de la memoire
for(int i = 0, i < nblignes; ++i)
{
    free(tab[i]);
}
free(tab);
Il y a bien évidement des versions sans les crochets []...

Cependant je n'arrive pas à l'adapter au cas d'un tableau de plus de 3 dimensions, précisément 4 du style

Comment allouer de la mémoire dans ce cas?
Pour l'accès aux différents éléments du tableau je suppose que le principe est le même qu'un tableau normal multidimensionnel.

D'avance merci pour vos éclaircissements.