Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Tipos numéricos
  2. Tipos derivados/referencidos
  3. Outros tipos
  4. tipos std lib

A linguagem C possui tipos de dados primitivos para armazenar números inteiros, racionais, caracteres, cadeia de caracteres, vetores e outros tipos básicos.

A declaração de variáveis e constantes com esses tipos de dados serão vistos em C Básico: Variáveis e Constantes.

Para manipular dados númericos, a linguagem C fornece os tipos básicos primitivos mostrados na tabela 1 abaixo. Clique sobre o nomes do tipo contido na coluna Tipo, para ser direcionado para a sua respectiva seção.

Tab. 1: Tipos númericos
Tipo Uso Exemplo
int Número decimal 10, -10
float Numéro racional 1.99, -1.99
double Número racional 1.99, -1.99
char Caracteres e/ou inteiros 0,'A', -128, 127

Os tipos de dados float e double, também são tipos ponto-flutuante. A diferença entre ambas está ligado à faixa de dados e precisão de casas decimais.

A sinalização é definida utilizando os modificadores signed e unsigned que serão vistos mais adiante.

Os tipos de dados derivados, são tipos de dados compostos em outros tipos. A linguagem C fornece os seguintes tipos básicos de dados:

Tab. 2: Tipos derivados
Tipo Uso Exemplo
Vetor variáveis 1,2,3,...
Matriz matrizes 1,2,3,4,5,6
String Textos "uma string"
Struct Tipos complexos -
Enum Constantes 0,1,2,3
Union União de tipos -
Ponteiro Endereço de memória *variavel
Vetor/Matriz

Os tipos Vetor/Matriz para variáveis armazenadas de forma justaposta. As palavras vetor/matriz não são palavras reconhecidas pela linguagem C.

String

O tipo string armazenam caracteres de forma justaposta. O nome string não é uma palavra reconhecida pela linguagem C sendo apelido para vetor de caracteres.

Sintaxe
char nome_var[tamanho] = "string";
Struct

O tipos struct é composto de outros tipos dados como membros.

Sintaxe
struct nome_struct
{
  tipo_dado nome_membro1;
  tipo_dado nome_membro2;
  tipo_dado nome_membroN;
};
Enum

O tipo Enum é composto uma ou mais constantes com valores associados.

Sintaxe
enum nome_enum
{
  MEMBRO1, //0
  MEMBRO2,
  MEMBRON //N
};
Union

O tipo Union é composto de outros tipos primitivos e utilizam o mesmo espaço de memória com o objetivo de econômia.

Sintaxe
union nome_union
{
  tipo_dado membro1;
  tipo_dado membro2;
  tipo_dado membroN;
};
Ponteiro

O tipo Ponteiro armazenada endereço de memória de variáveis, funções e outros. Os nome Ponteiro não são palavras reconhecidas pela linguagem C sendo um apelido para o tipo de dado que é declarado usando o operador *.

Sintaxe
tipo_dado *nome_variavel;
null

A linguagem C possui a palavra reservada NULL, pseudo-tipo, que é utilizado em conjunto com o tipo ponteiro indicando que uma variável não foi iniciada ou não possui valor associado.

void

Além do NULL, C possui outro pseudo-tipo de dado void, visto na seção C Básico: Sintaxe, que é utilizado para identificar que funções não possuem retorno ou argumentos. void não pode ser usada na declaração de variáveis.

Biblioteca Nativa

Existem outros de dados contidos nas bibliotecas nativas da linguagem C que serão abordados em futuras atualizações.

  1. 29/06/2026 - revisão 4 - Ajustes: ajustes pontuais
  2. 02/09/2025 - revisão 3 - Ajustes: pontuais, tabs. 1/2, objetivos e sintaxes tipos derivados
  3. 04/20/2024 - revisão 2 - Correções pontuais; Adição de links na Tab.2
  4. 27/09/2023 - revisão 1 - Correção em link/referências, layout, erros gramaticais e outros
  5. 19/05/2023 - versão inicial