Salut
j'ai un petit problème lors de l'exécution avec valgrind d'un programme.
Voici le code de mon problème :
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 #include "test.h" #include <stdio.h> #include <stdlib.h> int main(){ yah y=c(); printf("%d %d\n",y->test,y->unionT.test2); } yah c(){ yah y = (yah)malloc(sizeof(yah)); y->test = 1; y->unionT.test2 = 2; return y; }Valgrind me dit que je fais une écriture invalide de la taille de l'int pendant le y->unionT.test2 = 2; et de lecture lors du printf ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 struct ya_ { int test; union { int test2; char c; }unionT; }; typedef struct ya_ * yah; yah c();
Quand j utilise ma structure sans pointeur, tout fonctionne bien mais je veux absolument les utiliser![]()
Merci pour vos réponses
Partager