Pourquoi uint8_t -> unsigned char ? Un uint8_t c'est un octet !
J'aime bien quand c'est le plus clair possible.
Un char c'est un type caractère, c'est fait pour désigner des caractère alphanumériques
Un entier sur un octet c'est un nombre.
Je reconnais que la remarque est facile et je l'a fait avec humour.
Pour certains, qui ont des habitudes de travail bien ancrées, les types int8_t, uint16_t, etc sont récents.
Les vieilles habitudes de contourner la non existence officielle en C du type byte avec le type char perdurent.
Moi qui ait commencé à utiliser les DEL infrarouge pour la transmission tout au début des années 70 (à l'époque ou on parlait en français) je n'arrive toujours pas à me faire à l'utilisation du mot led --> le poids des ans.
Mais je me rappelle certains sujets sur ce forum où des débutants perdaient les pédales dans des char qui étaient de l'alpha et des char qui était des nombres.
Personnellement j'ai vite cessé de suivre ces sujets sachant que malgré un age avancé j'étais un "jeune programmeur" qui avait bien intégré la philosophie des intx_t.
Depuis je ne déroge pas : pour ma petite tête un char c'est obligatoirement de l'alpha numérique et un entier sur un octet c'est obligatoirement un int8_t.
Et je suis complètement convaincu que c'est plus clair pour les débutants.
D'autant que maintenant sur des micros ARM 32 bits avec des int sur 4 octets (int32_t) si on veut économiser la mémoire il est utile de forcer le compilateur à utiliser 2 octets (int16_t) quand on juge que c'est suffisant.