Création dynamique de tableau à 2 dimensions en C

Article originellement écrit par Jean-François Pinçon pour http://blog.emax.ath.cx le mercredi 7 février 2007 à 01:55
Un jour, j’ai vu un oiseau et…

Plus sérieusement, je glandais devant l’ordi et une idée tordue pour un électronicien m’a traversée la tête : Faire une interpolation de Lagrange et par conséquence faire du calcul matriciel en C.

Bilan, j’avais besoin d’un tableau en 2 dimensions.

Dans les grandes lignes, il faut créer un tableau dans lequel chaque indice correspond à l’adresse d’un tableau.

Après, il est possible d’étendre le principe à n dimensions.

#include
#include

int main()

{

int i;
int dim1 = 3, dim2 = 5;

// Création dynamique d’un tableau à 2 dimensions
int** tab = (int**) malloc(dim1 * sizeof (int*) );
for (i=0; i<dim1; i++)
{
tab[i] = (int*) malloc (dim2 * sizeof (int) );
}

// Libération mémoire : tableau dynamique à 2 dimensions
for (i=0; i<dim1; i++)
{
free (tab[i]);
}
free(tab);
}

Ce contenu a été publié dans Programmation, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire