Contenu | Rechercher | Menus

Annonce

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". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#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

Haut de page ↑