Quel est l’intérêt concret de ces notions ?
Comprendre la sémantique du langage permet de le maîtriser
Faut-il se méfier du compilateur ?
Oui et il faut également se méfier de soi même
En un mot comme en cent : il n'existe pas réellement de booléens en C ou en C++. Le compilateur ne dira rien si par exemple on écrit :
bool b = 40;
le compilateur est content. Il pourrait émettre un warning avec l'option -Wint-in-bool-context mais cette option n'est pas allumée dans l'IDE.
En appartée :Je disais à Serrurier, sur un autre fil, que les documents sur le blog d'Eskimon n'étaient pas satisfaisants. Certes il a fini par supprimer ses tableaux qui grandissent tout seul mais il reste des choses comme :
Si on voulait faire un tableau de 100 étudiants dans lesquels on recense leurs nombres d’absence, on ferait le tableau suivant:
char absenteisme[100];
Je ne suis pas persuadé qu'un char soit le type adéquat pour compter quoique ça soit. La dissertation sur les booléens est également surprenante :
https://eskimon.fr/tuto-arduino-105-le-langage-arduino-12#les-variables-booléennes
Le C est un langage très permissif. Avec le temps GCC a fini par ajouter des options permettant de corriger ce libéralisme débridé mais tout n'est pas activé dans l'IDE (probablement parce que ça empêcherait la compilation de bon nombre de bibliothèques et d'exemples).
Il faut donc un peu de discipline