O tipo char (ou caractere) armazena apenas um caracter da tabela ASCII e ocupa exatamente um byte de memória. Na realidade, não é o caractere que é armazenado na memória, mas o código ASCII correspondente.
O código ASCII do caractere `A', por exemplo, é $65$. Então, se for atribuído `A' a uma variável do tipo caractere, na verdade será atribuído o valor $65$ para esta variável. Pode-se atribuir diretamente o valor ASCII a uma variável caractere inserindo-se o sustenido na frente do número correspondente (por exemplo, \texttt{x:= \#65}).
Exemplo:
program type_char; var a, c, d: char; b: integer; begin a := 'A'; // armazena 65 na variavel a, que equivale a 'A' b := ord('A') + 2; // obtem o codigo ASCII de 'A' (65) e acrescenta 2 // observe que b, que recebe isto, eh um inteiro c := chr(b); // armazena em c o caractere correspondente ao // valor 67 em ASCII d := #68; writeln('Variaveis: a=', a, ' b=', b, ' c=', c, ' d=', d); // retorna a=A b=67 c=C end.
Por se tratar de um tipo ordinal, o tipo char pode ser utilizado em comandos case (ver seçãocase-of).
Funções predefinidas relacionadas:
chr | lowercase | ord | upcase |
Vide anexo anexo_funcoes.