Open ghost opened 7 years ago
Codecast n'initialise pas les variables, l'observation vient du fait que la mémoire contient initialement 0 partout.
Initialiser avec l'octet 0x2A est une option, d'autres motifs plus traditionnels (0xDEADBEEF, 0xBBADBEEF) seraient peut-être plus appropriés.
J'aime bien 42 parce que je suis un fan de Douglas Adams mais les bœufs morts ou vvilains me semblent très bien aussi ;-).
clang a une option pour détecter les variables non initialisées: on pourrait afficher un message dans le codecast quand les variables ne sont pas initialisées à la compilation ? A la limite une solution simple : -Wall -Werror ; il existe aussi -Wuninitialized , au pire -Weverything !
Et on peut même transformer le warning en error en utilisant le pragma:
#pragma clang diagnostic error "-Wuninitialized"
Dans le MOOC ABC du langage C il y a vraiment beaucoup de questions sur les histoires de variables non initialisées. Quitte à initialiser les variables dans le codecast, ne vaudrait-il pas mieux les initialiser à 42 plutôt qu'à 0 ?