Tipos de dados
No final desta lição, você será capaz de responder ao seguinte:
Quais são os tipos de dados
Qual tipo de dado em C é usado para armazenar um único caractere?
Compreendendo tipos de dados
Em C, os tipos de dados são categorias que definem o tipo e o tamanho da informação que pode ser armazenada em uma variável. Eles podem ser classificados em tipos primitivos, modificadores de tipo e tipos derivados. Aqui está uma visão geral:
1. Tipos primitivos (ou básicos):
Estes são os tipos de dados fundamentais que vêm com a linguagem:
char
1 byte
-128 a 127 (ou 0 a 255)
Armazena caracteres ou inteiros pequenos.
int
2 ou 4 bytes
-32.768 a 32.767 (2 bytes) ou ±2 bilhões (4 bytes)
Armazena inteiros.
float
4 bytes
~ ±3.4E-38 a ±3.4E+38
Armazena números de ponto flutuante (decimais).
double
8 bytes
~ ±1.7E-308 a ±1.7E+308
Armazena números decimais maiores e mais precisos.
void
Sem tamanho
Não aplicável
Usado para funções que não retornam valor.
2. Modificadores de tipo:
Esses modificadores ajustam o tamanho ou o comportamento de tipos primitivos. Eles incluem:
signed
Permite valores negativos e positivos (padrão para int
).
unsigned
Apenas valores positivos ou zero.
short
Reduz o tamanho padrão de um inteiro.
long
Aumenta o tamanho de um inteiro ou de um double
.
Exemplos:
short int
: Menor intervalo de inteiros.long int
: Maior intervalo de inteiros.unsigned int
: Somente inteiros positivos.
3. Tipos derivados:
Esses tipos são construídos a partir dos tipos primitivos e permitem armazenar colecções de valores ou criar estruturas mais complexas.
Array
Colecção de elementos do mesmo tipo.
Pointer
Armazena o endereço de uma variável.
Struct
Agrupa diferentes tipos de dados.
Union
Semelhante à struct
, mas compartilha o mesmo espaço de memória.
Enum
Define um conjunto de valores constantes inteiros.
Resumo da classificação:
Categoria
Exemplos
Primitivos
int
, char
, float
, double
, void
Modificados
signed
, unsigned
, short
, long
Derivados
array
, pointer
, struct
, union
, enum
Definidos pelo usuário
typedef
, enum
, struct
Atualizado