Allocation de memoire dynamique pour matrice
Résolu/Fermé
rocksider
Messages postés
106
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
16 mars 2012
-
30 nov. 2008 à 13:48
rocksider Messages postés 106 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 16 mars 2012 - 30 nov. 2008 à 22:45
rocksider Messages postés 106 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 16 mars 2012 - 30 nov. 2008 à 22:45
A voir également:
- Matrice dynamique c
- Tableau croisé dynamique - Guide
- Liste déroulante dynamique excel - Guide
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Impossible d'afficher le rapport de tableau croisé dynamique sur un rapport existant ✓ - Forum Excel
- Vous ne pouvez pas modifier une partie de matrice - Forum Excel
2 réponses
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
860
30 nov. 2008 à 14:17
30 nov. 2008 à 14:17
En effet il te manque l'allocation de la première dimension de ta matrice.
Pour ma part, et ce n'est pas faux, je me représente une matrice comme une liste de listes.
Pour ton cas, tu déclare un (int**) mais tu as oublié d'allouer premièrement une liste de (int*) ; ayant pour longueur dans ton cas : profond.
Une fois cette liste de (int*) tu alloues la taille de la deuxième dimension ; dans ton cas longueur
Donc juste avant la for, recopie en modifiant simplement le cast et le sizeof de ta ligne du malloc déjà présente pour y allouer une liste d'(int*)
Pour ma part, et ce n'est pas faux, je me représente une matrice comme une liste de listes.
Pour ton cas, tu déclare un (int**) mais tu as oublié d'allouer premièrement une liste de (int*) ; ayant pour longueur dans ton cas : profond.
Une fois cette liste de (int*) tu alloues la taille de la deuxième dimension ; dans ton cas longueur
Donc juste avant la for, recopie en modifiant simplement le cast et le sizeof de ta ligne du malloc déjà présente pour y allouer une liste d'(int*)
laby=(int **) malloc(profond*sizeof(int*));