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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.