Bonjour à tous,

un petit problème sur lequel je bloque depuis 2 jours.
Voici le code de ma fonction d'allocation :
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;
}
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
static double *pointeur=NULL;
faireAllocation(pointeur);
Et bien, en suivant l'exécution ligne à ligne avec le débogueur :
- 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