Bonjour,
Je viens de commencer le développement d'un petit module en C gérant un carré de chiffres pour un jeu de sudoku. J'utilise donc une structure contenant les différents champs de l'objet, dont un pointeur sur le tableau qui contient les chiffres du carré. Je développe sous Linux avec gcc.
Lors de l'allocation de mémoire pour le tableau, le programme sort sur une erreur que je ne comprends pas. Voici la sortie du shell :
Je pense que ce n'est pas le comportement normal de malloc. J'ai mis un traitement d'erreur signalant si le pointeur contient NULL après allocation, il n'est même pas exécuté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Le plus étrange, c'est quand je ne laisse plus que 2 champs unsigned int (j'en ai 3), ça marche...
Voici les sources :
sudokuregion.c (mon module)
... et son header sudokuregion.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
N'oublions pas le programme de test : sudoku.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
...ainsi que le Makefile au cas où!
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
J'ai essayé plein de trucs, même le changement de l'ordre des champs dans le struct y est pour quelque chose!
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Quelles sont les erreurs que j'ai faites dans mon code? Que dois-je corriger pour que ça veuille bien marcher?
Merci d'avance.

 

 
		
		 
         
 

 
			
			
 
   


 Allocation de pointeur sur tableau dans un struct : erreur incompréhensible
 Allocation de pointeur sur tableau dans un struct : erreur incompréhensible
				 Répondre avec citation
  Répondre avec citation



 
			 
  
  
 
 
			 Envoyé par DavLink
 Envoyé par DavLink
					
				 
			
Partager