uint8_t
est le C standard et représente un type intégral 8 bits non signé. Si vous êtes sur un système qui n'a pas d'unités adressables 8 bits, cela ne sera pas défini; sinon c'est probablement un typedef
pour unsigned char
.
N'importe quoi avec __
il est réservé à l'implémentation. Cela signifie que les rédacteurs de compilateurs et les rédacteurs de bibliothèques standard peuvent utiliser ces identifiants sans se soucier d'un conflit de nom avec le code utilisateur. Vous pouvez le voir en consultant les éléments internes de l'implémentation de la bibliothèque standard.
u8
n'est pas standard mais signifie presque certainement la même chose que uint8_t
. Une raison pour laquelle u8
peut être utilisé dans du code écrit avant uint8_t
a été ajouté à la norme C.