Tipos de dados

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:

Tipo
Tamanho aproximado¹
Intervalo aproximado¹
Uso

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:

Modificador
Descrição

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.

Tipo
Descrição

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


Lightning Round ⚡️

CP1_Challenge data type

  • Qual a diferença entre os tipos float e double em C?

  • Qual biblioteca em C contém a definição para o tipo bool?

Atualizado