J'attribue un tableau 2d et utilise memset pour le remplir avec des zéros. Par la suite, j'utilise valgrind [1] pour vérifier les erreurs de mémoire. Ensuite, j'utilise valgrind [1]. J'ai l'erreur suivante: Conditional jump or move depends on uninitialised value(s)
pour la ligne 24 (printf("%i ", array_2d[i][j]);
). J'ai toujours pensé que memset est la fonction pour initialiser les tableaux. Comment puis-je me débarrasser de cette erreur?"Utilisation de la valeur non initialisée" malgré le memset
Merci!
sortie Valgrind:
==3485== Memcheck, a memory error detector
==3485== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==3485== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info
==3485== Command: ./a.out
==3485==
(0,0)=0 (0,1)===3485== Use of uninitialised value of size 4
==3485== at 0x409E186: _itoa_word (_itoa.c:195)
==3485== by 0x40A1AD1: vfprintf (vfprintf.c:1613)
==3485== by 0x40A8FFF: printf (printf.c:35)
==3485== by 0x8048724: main (playing_with_valgrind.c:39)
==3485==
==3485==
==3485== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ----
==3485== Conditional jump or move depends on uninitialised value(s)
==3485== at 0x409E18E: _itoa_word (_itoa.c:195)
==3485== by 0x40A1AD1: vfprintf (vfprintf.c:1613)
==3485== by 0x40A8FFF: printf (printf.c:35)
==3485== by 0x8048724: main (playing_with_valgrind.c:39)
[1] valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --db-attach=yes ./a.out
[gcc-cmd] gcc -std=c99 -lm -Wall -g3 playing_with_valgrind.c
Bons yeux en effet! –
Argh! Merci beaucoup. Je vais accepter votre réponse dès que possible. – Framester
Bien repéré ... c'est difficile à voir – Spudd86