[C] pointeur tableau et fonction
Résolu/Fermé
lostprophet
Messages postés
7
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
9 janvier 2007
-
27 oct. 2006 à 04:14
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 nov. 2006 à 08:34
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 nov. 2006 à 08:34
A voir également:
- [C] pointeur tableau et fonction
- Tableau croisé dynamique - Guide
- Fonction si et - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Pointeur souris - Guide
6 réponses
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
27 oct. 2006 à 08:50
27 oct. 2006 à 08:50
Salut.
Je pense avoir vu une erreur.
Le '&' ça sert à renvoyer l'adresse d'une variable. Donc quand tu écrit :
PrintDetails(ID,&NFcen,&NFID,N)
avec NFID déclaer comme int*, c'est comme si tu passai un int**
Or ce n'est pas ce que PrintDetails attend.
de même pour une tableau, soit tu marque NFID[i], soit *(NFID+i); mais pas *NFID[i], ce qui revient à faire une indirection sur un int. Que renvérai l'expression "*15" ?
En plus, pointeur d'entier, pointeur de tableaux, je pense que c'est à pareil dans ton cas.
regarde ça, ça peut t'aider:
c liberation de la memoire
Je pense avoir vu une erreur.
Le '&' ça sert à renvoyer l'adresse d'une variable. Donc quand tu écrit :
PrintDetails(ID,&NFcen,&NFID,N)
avec NFID déclaer comme int*, c'est comme si tu passai un int**
Or ce n'est pas ce que PrintDetails attend.
de même pour une tableau, soit tu marque NFID[i], soit *(NFID+i); mais pas *NFID[i], ce qui revient à faire une indirection sur un int. Que renvérai l'expression "*15" ?
En plus, pointeur d'entier, pointeur de tableaux, je pense que c'est à pareil dans ton cas.
regarde ça, ça peut t'aider:
c liberation de la memoire
lostprophet
Messages postés
7
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
9 janvier 2007
29 oct. 2006 à 22:27
29 oct. 2006 à 22:27
Merci pour tes remarques ! je teste ca et je tiens au courant !
lostprophet
Messages postés
7
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
9 janvier 2007
29 oct. 2006 à 22:51
29 oct. 2006 à 22:51
Ca marche !!! merci bien !
lostprophet
Messages postés
7
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
9 janvier 2007
1 nov. 2006 à 05:42
1 nov. 2006 à 05:42
Bon en fatit maintenant je suis bloque, je n'arrive pas a desallouer la memoire pour NodeFaceID avec free().
J'ai tente une boucle for:
for i .....
free(NodeFaceID[i]);
mais je me retrouve avec une erreure de glibc.... une idee encore ? ;)
J'ai tente une boucle for:
for i .....
free(NodeFaceID[i]);
mais je me retrouve avec une erreure de glibc.... une idee encore ? ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lostprophet
Messages postés
7
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
9 janvier 2007
5 nov. 2006 à 21:53
5 nov. 2006 à 21:53
un petit up
Quelqu'un aurait il une idee pour liberee cette fichue memoire ?
Merci !
Quelqu'un aurait il une idee pour liberee cette fichue memoire ?
Merci !
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
6 nov. 2006 à 08:34
6 nov. 2006 à 08:34
Salut.
je m'y connai pas beaucoup en allocartion dynamique.
Déjà, met l'erreur exact, 9/10 la réponse est dans l'affichage de l'erreur.
si NodeFaceID est bien de type int**, ce que tu as écris me semble juste.
je m'y connai pas beaucoup en allocartion dynamique.
Déjà, met l'erreur exact, 9/10 la réponse est dans l'affichage de l'erreur.
si NodeFaceID est bien de type int**, ce que tu as écris me semble juste.