Tipos de Dados em C
Tipos de Dados em C
A linguagem C apresenta quatro tipos de dados básicos:
char
int
float
double
Em muitos computadores, esses quatro tipos são nativos no hardware da máquina[1].
Uma variável double é um número de ponto flutuante de dupla precisão.
- Declaração de Dados
- Na linguagem C a declaração dos tipos de dados especifica:
- A quantidade de armazenamento que deve ser reservada para os dados;
Tipo | Tamanho |
char | 1 Byte |
int | 2 Bytes |
float | 4 Bytes |
double | 8 Bytes |
- Como os dados representados pelas palavras binárias devem ser interpretados.
Por exemplo, se um programador C declarar[1]:
int x, y;
float a, b;
será reservado espaço em quatro posições para quatro números diferentes. Essas quatro posições podem ser referenciadas pelas variáveis x, y, a e b. O conteúdo das posições reservadas para x e y será interpretado como inteiros, enquanto o conteúdo de a e b será interpretado como números de ponto flutuante.
O compilador responsável pela conversão de programas C em linguagem de máquina traduzirá o "+" contido na instrução
x = x + y;
em soma de inteiros, e traduzirá o "+" contido na instrução
a = a + b;
em soma de pontos flutuantes.
Qualificadores
Existem três qualificadores que podem ser aplicados aos tipos da linguagem C:
short
long
unsigned
Tipo | Número de bits | Início | Fim |
char | 8 | -128 | 127 |
unsigned char | 8 | 0 | 255 |
int | 16 | -32.768 | 32.767 |
unsigned int | 16 | 0 | 65.535 |
short int | 16 | -32.768 | 32.767 |
long int | 32 | -2.147.483.648 | 2.147.483.647 |
unsigned long int | 32 | 0 | 4.294.967.295 |
float | 32 | 3,4E-38 | 3.4E+38 |
double | 64 | 1,7E-308 | 1,7E+308 |
long double | 80 | 3,4E-4932 | 3.4E+4932 |
Modeladores
Os modeladores forçam que o resultado de uma expressão seja de um determinado tipo de dados.
- Exemplos
- Teste as duas versões dos programas exemplo abaixo e compare os resultados:
#include <stdio.h>
void main ()
{
int num=10;
float f;
f=num/7;
printf ("%f\n",f);
}
#include <stdio.h>
void main ()
{
int num=10;
float f;
f=(float)num/7;
printf ("%f\n",f);
}
- No último exemplo o modelador (float) força o resultado da operação com inteiros ser do tipo float.
Referências
--Evandro.cantu (discussão) 20h13min de 29 de julho de 2014 (BRT)