Bonjour à tous,
un petit problème sur lequel je bloque depuis 2 jours.
Voici le code de ma fonction d'allocation :
Le problème est que, lorsque que dans une autre fonction, j'ai les lignes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void faireAllocation(double *pointeur) { pointeur = calloc(NBLIG*NBCOL,sizeof(double)); if ( pointeur==NULL ) { /* J'affiche un message d'erreur et je sort, je passe les détails */ } return; }
Et bien, en suivant l'exécution ligne à ligne avec le débogueur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 static double *pointeur=NULL; faireAllocation(pointeur);
- avant d'entrer dans la fonction "faireAllocation", pointeur vaut bien 0
- dans la fonction "faireAllocation", l'allocation se fait sans problème et pointeur vaut autre chose que 0
- une fois que je suis retourné dans la fonction appelante, juste après "faireAllocation", pointeur vaut de nouveau 0 !!
Si quelqu'un pouvait m'éclairer sur la cause possible de cette réinitialisation de pointeur, cela m'arrangerait.
Merci et bonne journée
Partager