j'ai donc alloué ma mémoire, à la compilation ca passe mais le problème est qu'au lancement de l'executable ça veux ecrire ou lire dans des endroits non alloué et je vois pas trop où j'aurai pu faire une bourde.
Donc il y a t'il une erreur dans ma syntaxe?

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
 
void main()
{
    Donneewav *D=(Donneewav*)malloc(sizeof(Donneewav));
	char* name=(char*)malloc(7*sizeof(char));
	double** tri,*y,** data_trame,*E;
	int i,j,TRAME,DEC,NB_TR,tempo,tempo2,SCAL_DELTA,SCAL_ACC;
	D->file_type=(char*) malloc(4*sizeof(char));
    D->file_id=(char*) malloc(4*sizeof(char));			
    D->chunk_id=(char*) malloc(4*sizeof(char));
    D->chunk2_id=(char*) malloc(4*sizeof(char));
	D->data=(double*)malloc(25000*sizeof(double));
	tri = (double**)malloc(NUMCHANS* sizeof(double*));
	for(i=0;i<NUMCHANS;i++)
		tri[i] =(double*) calloc (Lfft/2, sizeof(double));
    y =(double*)malloc (Lfft* sizeof(double));
 
	sprintf(name,"busarri");
    wavread(name,D);															
 
	TRAME=D->sampling_freq*25/1000;												
	DEC=D->sampling_freq*10/1000;												
	NB_TR=(int)(((D->chunk3_size)-(TRAME-DEC))/DEC);							
	SCAL_DELTA=0;
	for (i=1;i<DELTA+1;i++)
		SCAL_DELTA=i^2+SCAL_DELTA;												
	SCAL_ACC=0;
	for (i=1;i<ACC+1;i++)
		SCAL_ACC=i^2+SCAL_ACC;													/
 
	filt_mel(tri,D);															
 
	data_trame = (double**)malloc(NB_TR* sizeof(double*));
	for(i=0;i<NB_TR;i++)
		data_trame[i] =(double*) calloc (Lfft, sizeof(double));
 
	trame(D,data_trame,TRAME,DEC,NB_TR);						
 
	E=(double*)malloc(NB_TR*sizeof(double));
	tempo2=0;	
 
	for(i=0;i<NB_TR;i++)
	{
		E[i]=0;
		for(j=0;j<TRAME;j++)
		{
			E[i]=E[i]+pow(data_trame[i][j],2);									
 
			tempo=data_trame[i][j];
			data_trame[i][j]=data_trame[i][j]-0.97*tempo2;
			tempo2=tempo;
			data_trame[i][j]=data_trame[i][j]*(0.54-0.46*cos(2*Pi*j/(TRAME-1)));
		}
        E[i]=log(E[i]);
		fft(data_trame[i],y);
 
	}
 
 
	free(E);
	E=NULL;
	for(i=0;i<NB_TR;i++)
	{
		free(data_trame[i]);
		data_trame[i]=NULL;
	}
    free(data_trame);
	data_trame=NULL;
	free(y);
	for(i=0;i<NUMCHANS;i++)
	{
		free(tri[i]);
		tri[i]=NULL;
	}
	free(tri);
	tri=NULL;
	free(D->data);
	D->data=NULL;
	free(name);
	name=NULL;
	free(D->file_type);
	D->file_type=NULL;
    free(D->file_id);
	D->file_id=NULL;
    free(D->chunk_id);
	D->chunk_id=NULL;
    free(D->chunk2_id);
	D->chunk2_id=NULL;
    free(D);
	D=NULL;
}