Tipos de inteiro
Cada constante de inteiro recebe um tipo baseado no seu valor e na forma como é expressa. É possível forçar constantes inteiras para o tipo long
anexando a letra l
ou L
ao final da constante; é possível forçá-la para o tipo unsigned
anexando u
ou U
ao valor. A letra minúscula l
pode ser confundida com o dígito 1 e deve ser evitada. Estas são algumas formas de constantes de inteiro de long
:
/* Long decimal constants */
10L
79L
/* Long octal constants */
012L
0115L
/* Long hexadecimal constants */
0xaL or 0xAL
0X4fL or 0x4FL
/* Unsigned long decimal constant */
776745UL
778866LU
O tipo que você atribui a uma constante depende do valor que a constante representa. O valor de uma constante deve estar no intervalo de valores representáveis para o seu tipo. Um tipo de constante que determina quais conversões são executadas quando a constante é usada em uma expressão ou quando o sinal de subtração (-
) é aplicado. Esta lista resume as regras de conversão para constantes de número inteiro.
O tipo de constante decimal sem sufixo é
int
,long int
ouunsigned long int
. O primeiro destes três tipos em que o valor da constante pode ser representado é o tipo atribuído à constante.O tipo atribuído às constantes octais e hexadecimais sem sufixos é
int
,unsigned int
,long int
ouunsigned long int
dependendo do tamanho da constante.O tipo atribuído às constantes com um sufixo
u
ouU
éunsigned int
ouunsigned long int
dependendo do tamanho.O tipo atribuído às constantes com sufixo
l
ouL
élong int
ouunsigned long int
dependendo do tamanho.O tipo atribuído a constantes com
u
ouU
e com um sufixol
ouL
éunsigned long int
.