A linguagem C.
Não vou falar aqui sobre a história da linguagem C, que você pode ver aqui; vamos direto ao lado prático da 'coisa'.
Nos posts anteriores falamos bastante sobre PROCESSADOR e MEMÓRIA. Talvez você tenha achado isto muito chato (eu também achava ;), mas garanto que depois de ler este post, isso vai mudar um pouco.
Um programa de computador é uma série de instruções que diz ao PROCESSADOR o que ele deve fazer (cálculos, pesquisas, etc.). Para fazer o que é ordenado ele usa a MEMÓRIA durante todo o tempo. É lá que ficam os dados que ele tem que processar e as instruções que ele tem que executar.
Até aqui nos referimos à MEMÓRIA como um 'quadro'. Isto é útil para entender o conceito de dados 'rápidos'. Entretanto, precisamos ampliar este conceito para algo mais próximo do mundo real.
Falamos que poderíamos escrever em qualquer lugar do 'quadro', mas não deixamos claro como o PROCESSADOR encontra a posição onde escrever.
Para explicar como, vou usar a analogia de uma folha de papel quadriculado. Seria como se existissem várias linhas verticais e horizontais paralelas, dividindo o nosso quadro em vários 'quadrinhos' (como uma planilha do Excel). Esses 'quadrinhos' são então endereçados (recebem uma identificação); se pensarmos em termos de planilha, cada um desses 'quadrinhos' está em uma linha e coluna específica; o que torna cada um deles único e inconfundível.
Qual o tamanho de cada 'quadrinho' destes? Isto depende do que vai ser escrito nele.
Lembra do conceito de byte? Pois bem, cada 'quadrinho' tem exatamente um byte, o que torna possível armazenar cada símbolo num único 'quadrinho'.
Pensando assim, a palavra CASA ocupará 4 'quadrinhos' (na verdade 5, mas isto será visto mais tarde), e o número 1000 ocupará também 4 'quadrinhos'. (Uma palavra é representada pelos seus símbolos na tabela ASCII e um número é representado pelo seu equivalente binário)
Hoje com MEMÓRIAS com a capacidade superiores a 1.000.000.000 bytes custando poucos R$, não haveria problema nenhum com esta lógica. Só que quando os computadores foram criados, as MEMÓRIAS eram bem menores e muito mais caras, e usar 4 'quadrinhos' para armazenar o número 1000 era desperdício. Por quê?
O char ocupa exatamente 1 byte, e é usado para representar símbolos (letras, acentos, caracteres de pontuação), ou qualquer outra coisa que possa ser representada usando 1 byte; pequenos números, por exemplo (até 255 'cabe' em 1 byte).
O int é usado para armazenar números inteiros, normalmente usa 2 bytes (alguns computadores podem usar 4 bytes).
O float é usado para armazenar números com casas decimais, e para isto usa, na maioria dos computadores, pelo menos 4 bytes.
O tipo void é um tipo especial, e representa NADA. Você não leu errado. Representa NADA; na verdade, um nada que pode se transformar em qualquer coisa (meus colegas de faculdade: notaram alguma semelhança com o conjunto vazio das aulas de matemática discreta rsrsrs).
O modificador long dobra a quantidade de bytes usados para armazenar o tipo int, se forem 2 bytes passam a ser 4 bytes, ou seja, 32 bits (será que agora 'cabe'? ;).
Por hora,vamos falar somente do long. Os outros serão vistos ao longo da nossa caminhada.
vou ter q ler isto mais umas trocentas vezes! Até pegar no tranco!!!
ResponderExcluirAchei o final bem confuso, mas vou complementar o que vi em outros lugares para ficar mais claro.
ResponderExcluirVlw!!
Parabens!
ResponderExcluirO post tá ajudando muito.
Continue sempre.
Vlw!