Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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