Os registros, chamados de estruturas (structures ou structs) na linguagem C, permitem agrupar diferentes informações relacionadas em uma única entidade lógica.

Esse recurso é amplamente utilizado para representar objetos do mundo real dentro de programas, como alunos, veículos, produtos, funcionários, livros, sensores, entre outros.

Definindo um Registro

A definição de um registro utiliza a palavra-chave struct:

struct Aluno {
    char nome[100];
    int matricula;
    int idade;
    float media;
};

Observe que essa declaração não cria uma variável. Ela apenas define um novo modelo de dados chamado Aluno.

Podemos interpretar a estrutura acima da seguinte forma:

Campo Tipo Descrição
nome char[100] Nome do aluno
matricula int Número de matrícula
idade int Idade do aluno
media float Média final

Criando Variáveis do Tipo Registro

Após definir a estrutura, podemos criar variáveis desse tipo:

struct Aluno estudante;

Agora a variável estudante possui todos os campos definidos no registro.

Visualmente:

estudante
├── nome
├── matricula
├── idade
└── media

Também é possível criar várias variáveis:

struct Aluno aluno1;
struct Aluno aluno2;
struct Aluno aluno3;

Acessando os Campos

O acesso aos campos de um registro é realizado através do operador ponto (.).

Atribuindo valores

struct Aluno estudante;

estudante.matricula = 2025001;
estudante.idade = 18;
estudante.media = 8.7;