Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 09/12/2005, à 14: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, à 14:55

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, à 14:58

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, à 15: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, à 20:38

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, à 10:23

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

Haut de page ↑