Bonjour,

D'habitude, je galère déjà avec les tableaux de pointeurs, alors maintenant que j'utilise une matrice de pointeurs, je patauge totalement :s

J'essaie de créer une matrice possédant 5 colonnes et dont le nombre de ligne augmente quand le besoin se fait sentir. Voici ce que cela donne en 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
17
18
19
20
21
22
23
24
25
26
27
28
 
void add_line(uint *numLine, TTrio **h_InputKey, const uint limit){
	(*numLine)++;
	h_InputKey = (TTrio **)realloc(h_InputKey, *numLine * sizeof(TTrio*));
	h_InputKey[(*numLine)-1] = (TTrio *) malloc (limit*sizeof(TTrio));
 
}
 
int main(int argc, char** argv){
 
        TTrio **h_InputKey;
        const uint arrayLength = argc > 1 ? atoi(argv[1]) : 1048576 ;
        const uint limit = argc > 2 ? atoi(argv[2]) : 5;
        uint numLine = 0;
 
	for(uint i  = 0; i<arrayLength;i++){
		if(i%limit == 0)
		  add_line(&numLine, h_InputKey,limit);
		h_InputKey[i/limit][i%limit].idx = i;
		h_InputKey[i/limit][i%limit].val = i;
		printf("TTrio CPU [%d][%d] : idx : %8x val : %8x \n", i/limit, i%limit, h_InputKey[i/limit][i%limit].idx, h_InputKey[i/limit][i%limit].val);
	}
 
	for(uint i = 0; i < numLine; i++){
		free(h_InputKey[i]);
	}
	free(h_InputKey);
}
Lorsque j'exécute le code, j'ai droit à un segmentation fault (core dumped). Apparemment, je gère mal un élément de la mémoire :s Quelqu'un pourrait-il m'aider svp ?

Merci !!