paulo1205
(usa Ubuntu)
Enviado em 21/08/2020 - 20:19h
lss22 escreveu:
Cara, eu tava tentando deixar mais explicito a minha duvida, com o que você disse, e acabou que eu estou começando a entender. Apaguei tudo e estou recomeçando, para dizer meu entendimento. Se você puder me corrigir, ficarei lisonjeado!
A faixa condiz com a tabela ASCII.
Qual faixa? Nenhum tipo do C corresponde exatamente ao ASCII, cujos índices vão de 0 a 127. Mesmo o menor dos tipos inteiros em C, que é o
char, vai de 0 a 255, quando sem sinal, ou de -128 a 127, quando com sinal.
Por exemplo, declarar um char não-qualificado iria se tornar redundante já que a tabela ASCII de characters iria começar no 32(dec).
Não entendi o contexto em que seria redundante declarar uma variável como
char não-qualificado. Redundante em relação a quê?
E, de novo, os valores numéricos correspondentes aos símbolos do ASCII (que eu costumo chamar de índices dessa tabela) começam em zero (não 32, como você disse). Os índices de 0 a 31 e também o 127 são usados com caracteres ditos caracteres de controle, mas alguns desses caracteres são absolutamente essenciais no nosso dia-a-dia, tais como a mudança de linha (índice 10), retorno ao começo da linha (13), tabulação (9) ou avanço de página (12).
Mas ainda sim, eu poderia tratar o char como se fosse um inteiro. Entendi bem?
Pode, porque o
char é, antes de tudo, um tipo aritmético inteiro. Que ele seja (antigamente mais do que hoje) usado para armazenar índices na tabela de caracteres é que é um aspecto secundário.
Em outras palavras: não é que o tipo
char exista para armazenar caracteres e também possa ser usado como valores aritméticos inteiros, mas sim que ele existe para representar valores aritméticos inteiros pequenos (apenas 8 bits) e também foi considerado, justamente por ocupar pouco espaço na memória, adequado para representar caracteres em conjuntos de caracteres com 256 símbolos ou menos.
... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)