Estruturas de dados em C

Share

 

Basicamente uma estrutura de dados é um tipo de dado heterogêneo criado pelo usuário, ou seja, é uma variável que armazena tipos de dados diferentes. A strutc pode ser comparada a um registro. Hoje explicarei como criar e utilizar uma estrutura.

 

 

 

 

 

 

Imagine que você precise armazenar um registro de um cliente onde esse registro contém os campos Código, Nome e Telefone. Agora imagine que você precise armazenar 100 registros iguais a esse.

Para resolver esse problema iremos mesclar a estrutura de dados com arrays.

 

 

Criando uma estrutura:

struct regEstrutura {

int atributo1;

char atributo2;

float atributo3;

}

 

 

Declaração de uma variável da estrutura criada:

struct regEstrutura Clientes;

 

 

Declaração de um array de uma estrutura:

struct regEstrutura Clientes[10];

 

 

Exemplo de uso de registro:

#include <stdio.h>

#include <stdlib.h>

#define NUMCADAS 9 // Número de cadastros

 

 

main(){

 

/* Criação da estrutura de dados */

struct regCadastro {

/* Declaração dos atributos da estrutura */

int codigo;

char nome[20];

};

 

/* Criação de um tipo de dado regCadastro */

struct regCadastro Cadastro[NUMCADAS];

 

/* Variável de controle do loop */

static int cont;

int ind;

int opcao;

int pesquisa;

 

cont=1;

 

do {

 

printf(“1. Cadastrar\n”);

printf(“2. Consultar\n”);

printf(“\n\n\n Digite 0 para sair “);

printf(“\n Opção: “);

scanf(“%d”,&opcao);

 

switch(opcao){

case 1:

printf(“\nDigite o código: “);

scanf(“%d”,&Cadastro[cont].codigo);

printf(“\nDigite o nome: “);

scanf(“%s”,Cadastro[cont].nome);

cont=cont+1;

break;

case 2:

printf(“\nDigite o código: “);

scanf(“%d”,&pesquisa);

for(ind=1;ind<=cont;ind++){

if (Cadastro[ind].codigo==pesquisa){

printf(“\nNome: %s”,Cadastro[ind].nome);

break;

}

}

}

 

system(“sleep 2;clear”);

 

} while (opcao!=0);