Pages : 1
#1 Le 09/12/2005, à 13:52
- Pak
programmation C
Bonjour,
Je voudrais savoir comment on alloue dynamiquement un tableau d'entiers a deux dimensions ( fournir le code si possible car l'exemple de mon prof ne marche pas....) merci
#2 Le 09/12/2005, à 13:55
- kwakosaure
Re : programmation C
Salut,
tu auras peut-être plus de réponses là : http://c.developpez.com/
et là : http://www.developpez.net/forums/index.php?c=11
Hors ligne
#3 Le 09/12/2005, à 13:58
- max63
Re : programmation C
// Pour un tableau de 10 par 10
int *p = malloc(10 * 10 * sizeof(int));
Tout sur l'actualité frakassante du libre : http://www.frakass.org
Hors ligne
#4 Le 09/12/2005, à 14:00
- Pak
Re : programmation C
En fait c'est un tableau de type **tab qu'il me faut ( oui il y a bien 2 etoiles ) c'est un pointeur de pointeur
#5 Le 09/12/2005, à 19:38
- m+rh-e
Re : programmation C
Le truc, il faut allouer en premier un tableau de pointeurs, puis un tableau de données pour chacun des pointeurs
int** getdata(int n, int m)
{
int** data = malloc(n*sizeof(int*));
int i;
for( i = 0; i < n; i++)
data[i] = malloc(m*sizeof(int));
return data;
}
void releasedata(int** data, int n)
{
int i;
for( i = 0; i < n; i++)
free(data[i]);
free(data);
}
et voilà
Hors ligne
#6 Le 20/12/2005, à 09:23
- thx1138
Re : programmation C
Si tu ne veux pas te taper toute la gestion (création/libération de la mémoire), je te conseille les fonctions de la GLib (http://developer.gnome.org/doc/API/2.0/ … rrays.html).
Mais je pense qu'il vaut toujours mieux, avant d'utiliser une bibliothèque, savoir coder «à la manière forte» : sans aide d'une bibliothèque. Une fois qu'on a bien acquis les concepts de base, on peut utiliser une bibliothèque.
They did not know it was impossible, so they did it - Mark Twain
Hors ligne
Pages : 1