Creation d'une matrice en langage c
Fermé
bakarim
Messages postés
32
Date d'inscription
samedi 23 août 2008
Statut
Membre
Dernière intervention
15 juillet 2009
-
21 févr. 2009 à 22:28
bakarim Messages postés 32 Date d'inscription samedi 23 août 2008 Statut Membre Dernière intervention 15 juillet 2009 - 22 févr. 2009 à 11:02
bakarim Messages postés 32 Date d'inscription samedi 23 août 2008 Statut Membre Dernière intervention 15 juillet 2009 - 22 févr. 2009 à 11:02
A voir également:
- Creation d'une matrice en langage c
- Langage ascii - Guide
- Creation compte gmail - Guide
- Création compte google - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
4 réponses
Mr_khalid
Messages postés
3
Date d'inscription
samedi 21 février 2009
Statut
Membre
Dernière intervention
22 février 2009
2
22 févr. 2009 à 00:24
22 févr. 2009 à 00:24
c'est pas un tableau a l'intérieur de l'autre mais chaque élément de tableau sera un tableau donc pour ca qu'on a déclaré un pointeur double
char** tab_2d = NULL; // déclaration est initialisation (le double pointeur déjà égal a NULL)
tab_2d = malloc (sizeof (char*) * LIGNES); // on a maintenant les éléments tab_2d[0], tab_2d[1] ...
//est pour chaque élément on va crée un tableau dynamique
for (i = 0; i < LIGNES; ++i)
tab_2d[i] = malloc (sizeof (char) * COLONNES); //tab_2d[0] est un pointeur (ou tab dyn) qui contien 5 element (5 et le nbr colonne ) donc on a tab_2d[0][0] tab_2d[0][1] tab_2d[0][2] tab_2d[0][3] tab_2d[0][4] même chose pour tab_2d[1] ....
char** tab_2d = NULL; // déclaration est initialisation (le double pointeur déjà égal a NULL)
tab_2d = malloc (sizeof (char*) * LIGNES); // on a maintenant les éléments tab_2d[0], tab_2d[1] ...
//est pour chaque élément on va crée un tableau dynamique
for (i = 0; i < LIGNES; ++i)
tab_2d[i] = malloc (sizeof (char) * COLONNES); //tab_2d[0] est un pointeur (ou tab dyn) qui contien 5 element (5 et le nbr colonne ) donc on a tab_2d[0][0] tab_2d[0][1] tab_2d[0][2] tab_2d[0][3] tab_2d[0][4] même chose pour tab_2d[1] ....
Mr_khalid
Messages postés
3
Date d'inscription
samedi 21 février 2009
Statut
Membre
Dernière intervention
22 février 2009
2
21 févr. 2009 à 22:45
21 févr. 2009 à 22:45
pour une matrice de 2 dim vous avez 2 possibilité soit statique(vous connaissez déja le nbr des lignes et des colonnes)
soit dynamique (les lignes et les colonnes seront passé a la saisie )
donc pour cet exemple :
1 chase on a allouée l'espace mémoire pour les lignes
a00
a01
a02
....
et pour chaque a(i,i) on va allouée de la memoire
a00 a10 a20 ...
a01 a11 a21 ...
a02 a12 a22 ...
...
même chose pour la libération de la mémoire
soit dynamique (les lignes et les colonnes seront passé a la saisie )
donc pour cet exemple :
1 chase on a allouée l'espace mémoire pour les lignes
a00
a01
a02
....
et pour chaque a(i,i) on va allouée de la memoire
a00 a10 a20 ...
a01 a11 a21 ...
a02 a12 a22 ...
...
même chose pour la libération de la mémoire
bakarim
Messages postés
32
Date d'inscription
samedi 23 août 2008
Statut
Membre
Dernière intervention
15 juillet 2009
3
21 févr. 2009 à 23:19
21 févr. 2009 à 23:19
merci d'avance.
ce que j'ai pas compris c'est la premier malloc est ce que creer un tableau a 2 dimension revient a creer un tablaux a l'interieur d'unautre tableau. parceque des la 1 ere declaration (char** tab_2d = NULL)je pense que c'est tableau qui contient juste des pointeur.
est ce que ca est juste ou non.
ce que j'ai pas compris c'est la premier malloc est ce que creer un tableau a 2 dimension revient a creer un tablaux a l'interieur d'unautre tableau. parceque des la 1 ere declaration (char** tab_2d = NULL)je pense que c'est tableau qui contient juste des pointeur.
est ce que ca est juste ou non.
bakarim
Messages postés
32
Date d'inscription
samedi 23 août 2008
Statut
Membre
Dernière intervention
15 juillet 2009
3
22 févr. 2009 à 11:02
22 févr. 2009 à 11:02
Merci bien M_khalid