Passage de pointeurs (paramètre de fonction)
Bonjour,
j'ai écrit quelques lignes en C, mais je ne comprends pas pourquoi elles ne marchent pas. Les voici (en simplifiant pas mal le code) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
// Fonction mapping
void mapping(double * constelI, double * constelQ) {
constelI = (double *) malloc(4*sizeof(double));
consteQ = (double *) malloc(4*sizeof(double));
for(i=0; i<4; i++) {
constelI[i] = i;
constelQ[i] = 2*i;
}
}
// Fonction principale
double * constelI;
double * constelQ;
mapping(constelI, constelQ); |
Après l'appel de mapping(), quand je fais :
Code:
1 2
|
printf("%f %f\n", constelI[i], constelQ[i]); |
ça fait un segfault :-(
Est-ce que quelqu'un pourrait m'expliquer pourquoi ! Merci d'avance.