Conversões de tipo (C)
As conversões de tipos dependem do operador especificado e do tipo de operando ou dos operadores. As conversões de tipo são executadas nos seguintes casos:
Quando um valor de um tipo é atribuído a uma variável de um tipo diferente ou um operador converte o tipo do seu operando ou operandos antes de executar uma operação
Quando um valor de um tipo é explicitamente convertido em um tipo diferente
Quando um valor é passado como um argumento para uma função ou quando um tipo é retornado de uma função
Um caractere, inteiro curto ou campo de bit de inteiro, todos assinados ou não, ou um objeto de tipo de enumeração, podem ser usados em uma expressão sempre que um inteiro puder ser usado. Se int
puder representar todos os valores do tipo original, o valor será convertido em int
; caso contrário, ele será convertido em unsigned int
. Esse processo é chamado de "promoção integral". As promoções integrais preservam o valor. Ou seja, o valor após a promoção tem a garantia de ser o mesmo que antes de promoção. Consulte Conversões aritméticas usuais para obter mais informações.