Tipo de dado
![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Python_3._The_standard_type_hierarchy.png/220px-Python_3._The_standard_type_hierarchy.png)
Emciência da computaçãotipos de variáveis ou dadosé uma combinação de valores e de operações que umavariávelpode executar, o que pode variar conforme osistema operacionale alinguagem de computador.[1]São utilizados para indicar aocompiladorouinterpretadoras conversões necessárias para obter os valores emmemóriadurante a construção doprograma.[1]O tipo de dado ajuda também oprogramadora detectar eventuais erros envolvidos com semântica das instruções, erros esses detectados naanálise semânticados compiladores.
Dependendo dalinguagem de programação,o tipo de um dado é verificado diferentemente, de acordo com aanálise léxica,sintática e semântica do compilador ou interpretador da linguagem. Os tipos têm geralmente associações com valores na memória ou comobjetos(para uma linguagemorientada a objeto) ou variáveis.
Tipo estático e dinâmico
[editar|editar código-fonte]A verificação do tipo de um dado é feita de forma estática emtempo de compilaçãoou de forma dinâmica emtempo de execução.EmC,C++,JavaeHaskellos tipos são estáticos, emScheme,Lisp,Smalltalk,Perl,PHP,Visual Basic,RubyePythonsão dinâmicos.
Em C uma definição estática do tipo de uma variável ficaria assim:
printf("O tipo char ocupa %lld bytes\n",sizeof(char));
Tipo forte e fraco
[editar|editar código-fonte]Linguagens implementadas comtipificaçãoforte (linguagem fortemente tipificada), tais comoJavaePascal,exigem que o tipo de dado de um valor seja do mesmo tipo da variável ao qual este valor será atribuído. Exemplo:
(Sintaxe genérica) 1. Declarar Variáveis 2. TEXTO nome 3. INTEIRO idade 4. 5. Atribuições 6. nome = "Júlio" 7. idade = 17.1
Ocorrerá um erro aocompilara linha 7, pois o valor "17.1", que é do tipo REAL, precisa ser convertido para o tipo de dado INTEIRO.
Em linguagens com tipos de dados fracos, tais comoPHPeVBScript,a conversão não se faz necessária, sendo realizada implicitamente pelo compilador ou interpretador.
Tipo primitivo e composto
[editar|editar código-fonte]Um tipo primitivo (também conhecido por nativo ou básico) é fornecido por umalinguagem de programaçãocomo um bloco de construção básico. Dependendo da implementação da linguagem, os tipos primitivos podem ou não possuir correspondência direta com objetos namemória.
Um tipo composto pode ser construído em uma linguagem de programação a partir de tipos primitivos e de outros tipos compostos, em um processo chamado composição.
EmC,cadeias de caracteressão tipos compostos, enquanto em dialetos modernos deBasice emJavaScriptesse tipo é nativo da linguagem.
Tipos primitivos típicos incluemcaractere,inteiro(representa um subconjunto dosnúmeros inteiros,com largura dependente do sistema; pode possuir sinal ou não),ponto flutuante(representa o conjunto dosnúmeros racionais),booleano(lógica booleana,verdadeiro ou falso) e algum tipo dereferência(comoponteiroouhandles).
Tipos primitivos mais sofisticados incluemtuplas,listas ligadas,números complexos,números racionaisetabela hash,presente sobretudo emlinguagens funcionais.
Espera-se que operações envolvendo tipos primitivos sejam as construções mais rápidas da linguagem. Por exemplo, a adição de inteiros pode ser feita com somente umainstruçãode máquina, e mesmo algumasCPUsoferecem instruções específicas para processar sequências de caracteres com uma única instrução. A maioria das linguagens não permite que o comportamento de um tipo nativo seja modificado por programas. Como exceção,Smalltalkpermite que tipos nativos sejam estendidos, adicionando-se operações e também redefinindo operações nativas.
Uma estrutura em C eC++é um tipo composto de um conjunto determinado de campos e membros. O tamanho total da estrutura para o tipo composto corresponde a soma dos requerimentos de cada campo da estrutura, além de um possível espaço para alinhamento debits.Por exemplo:
structConta{
intnumero;
char*nome;
char*sobrenome;
floatbalanco;
};
define um tipo composto chamadoConta
.A partir de uma variávelminhaConta
do tipo acima, pode-se acessar o número da conta através deminhaConta.numero
.
Referências
- ↑ab«type from FOLDOC».foldoc.org.Consultado em 21 de agosto de 2012