Constantes de Caracteres

Uma constante de caractere é escrita com aspas simples, como em 'c'. No caso mais simples, c é um único caractere ASCII que a constante deve representar. A constante tem o tipo int, e seu valor é o código do caractere correspondente. Por exemplo, 'a' representa o código do caractere para a letra ‘a’: 97, no caso.

Para colocar o caractere ‘'’ (aspas simples) na constante de caractere, use a barra invertida (‘\’) como escape. Essa constante de caractere fica assim: '\''. A barra invertida aqui funciona como um caractere de escape, e tal sequência, começando com ‘\’, é chamada de sequência de escape.

Para colocar o caractere ‘\’ (barra invertida) na constante de caractere, use outra barra invertida como escape. Essa constante de caractere fica assim: '\\'.

Aqui estão todas as sequências de escape que representam caracteres específicos em uma constante de caractere. Os valores numéricos mostrados são os códigos ASCII correspondentes, como números decimais:

'\a'7       /* alarme, CTRL-g */
'\b'8       /* backspace, BS, CTRL-h */
'\t'9       /* tabulação, TAB, CTRL-i */
'\n'10      /* nova linha, CTRL-j */
'\v'11      /* tabulação vertical, CTRL-k */
'\f'12      /* avanço de formulário, CTRL-l */
'\r'13      /* retorno de carro, RET, CTRL-m */
'\e'27      /* caractere de escape, ESC, CTRL-[ */
'\\'92      /* caractere de barra invertida, \ */
'\''39      /* caractere de aspas simples, ' */
'\"'34      /* caractere de aspas duplas, " */
'\?'63      /* ponto de interrogação, ? */

‘\e’ é uma extensão do GNU C; para seguir o padrão C, escreva ‘\33’. (O número após a barra invertida é octal.) Para especificar uma constante de caractere usando decimal, use um cast; por exemplo, (unsigned char) 27.

Você também pode escrever códigos de caracteres em octal e hexadecimal como ‘\octalcode’ ou ‘\xhexcode’. Decimal não é uma opção aqui, então códigos octais não precisam começar com ‘0’.

O valor da constante de caractere tem o tipo int. No entanto, o código do caractere é tratado inicialmente como um valor do tipo char, que é então convertido para int. Se o código do caractere for maior que 127 (0177 em octal), o int resultante pode ser negativo em uma plataforma onde o tipo char tem 8 bits e é com sinal.

Atualizado

Isto foi útil?