O que é uma Struct?
Parte da seção Logic & Flow do Journey de C da Coddy — lição 38 de 63.
Até agora, você trabalhou com os tipos de dados integrados do C, como int, float e char. Mas e se você precisar agrupar informações relacionadas? É aqui que as estruturas, ou structs, tornam-se inestimáveis.
Uma struct é um tipo de dado definido pelo usuário que permite combinar múltiplas variáveis de diferentes tipos sob um único nome. Pense nela como um contêiner que mantém informações relacionadas juntas.
Considere um sistema de registro de alunos. Em vez de gerenciar variáveis separadas para cada informação do aluno, você pode agrupá-las:
// Instead of separate variables:
char student_name[50];
int student_id;
float student_grade;
// You can group them in a struct:
struct Student {
char name[50];
int id;
float grade;
};Essa abordagem torna seu código mais organizado e fácil de entender. Quando você vê um struct Student, você sabe imediatamente que ele contém todas as informações essenciais sobre um aluno. Estruturas são blocos de construção fundamentais que ajudam você a modelar entidades do mundo real em seus programas, tornando seu código mais lógico e fácil de manter.
Folha de consulta
Uma struct é um tipo de dado definido pelo usuário que agrupa múltiplas variáveis de diferentes tipos sob um único nome:
struct Student {
char name[50];
int id;
float grade;
};Estruturas ajudam a organizar dados relacionados juntos, tornando o código mais lógico e fácil de manter em comparação ao uso de variáveis separadas.
Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Logic & Flow
1Fundamentos de Ponteiros
O que é um Ponteiro?Declarando PonteirosO Operador de Endereço (&)O Operador de Desreferência (*)Ponteiros NULLRecapitulação: Fundamentos de Ponteiros4Projeto: Utilitário de Texto Simples
Visão Geral do ProjetoContando Caracteres7Estruturas (structs)
O que é uma Struct?Declarando uma StructCriando Variáveis de StructAcessando Membros de uma StructInicializando StructsRecapitulação: Struct de Dados de Aluno2Ponteiros e Arrays
Nomes de Arrays como PonteirosElementos de Array - PonteirosAritmética de PonteirosComparando PonteirosRecapitulação: Percorrendo Arrays com Ponteiros5Ponteiros e Funções
Passagem por ValorPassando Ponteiros para FunçõesModificando Variáveis via PonteirosUm Exemplo Clássico: SwapPassando Arrays para FunçõesRecapitulação: Ponteiros como Argumentos3Arrays de Caracteres e Strings
Strings como Arrays de charO Terminador NuloEntrada de Strings com scanfUsando strlen()Usando strcpy()Usando strcat()Usando strcmp()Recapitulação: Funções Básicas de Strings6Gerenciamento de Memória
Memória Stack vs. HeapAlocação Dinâmica - malloc()Usando sizeof() para AlocaçãoVerificando Falhas de AlocaçãoLiberando Memória com free()Alocando com calloc()Recapitulação: Array Dinâmico9Projeto: Cadastro Simples de Contatos
Projeto: Definir a Struct de ContatoFunção para Criar um Contato