Qual é a vantagem de utilizar uint8_t
em vez de unsigned char
em C?
Sei que em quase todos os sistemas 'uint8_t' é apenas um dactilografado para 'char não assinado', então porquê utilizá-lo?
Documenta a sua intenção - estará a armazenar pequenos números, em vez de um personagem.
Também parece melhor se você'estiver a utilizar outros typedefs como uint16_t
ou int32_t
.
Como disse, "* quase todos os sistemas".
O char
é provavelmente um dos menos susceptíveis de mudar, mas quando se começa a utilizar uint16_t
e amigos, utilizando uint8_t
mistura-se melhor, e pode até fazer parte de um padrão de codificação.
Em quase todos os sistemas I'encontrei uint8_t == char não assinado, mas isto não é garantido pela norma C. Se estiver a tentar escrever um código portátil e se for importante o tamanho exacto da memória, use uint8_t. Caso contrário, utilize char não assinado.