·

Engenharia Elétrica ·

Introdução à Lógica e Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

LINGUAGEM C ESTRUTURAS DEFINIDAS PELO PROGRAMADOR Prof André Backes VARIÁVEIS As variáveis vistas até agora podem ser classificados em duas categorias simples definidas por tipos int float double e char compostas homogêneas ou seja do mesmo tipo definidas por array No entanto a linguagem C permite que se criem novas estruturas a partir dos tipos básicos struct ESTRUTURAS Uma estrutura pode ser vista como um novo tipo de dado que é formado por composição de variáveis de outros tipos Pode ser declarada em qualquer escopo Ela é declarada da seguinte forma ESTRUTURAS Uma estrutura pode ser vista como um agrupamento de dados Ex cadastro de pessoas Todas essas informações são da mesma pessoa logo podemos agrupálas Isso facilita também lidar com dados de outras pessoas no mesmo programa char nome50 int idade char rua50 int numero cadastro ESTRUTURAS DECLARAÇÃO Uma vez definida a estrutura uma variável pode ser declarada de modo similar aos tipos já existente Obs por ser um tipo definido pelo programador usase a palavra struct antes do tipo da nova variável ESTRUTURAS DECLARAÇÃO Obs por ser um tipo definido pelo programador usase a palavra struct antes do tipo da nova variável Tipo de dado Variável EXERCÍCIO Declare uma estrutura capaz de armazenar o número e 3 notas para um dado aluno EXERCÍCIO SOLUÇÃO Possíveis soluções ESTRUTURAS O uso de estruturas facilita na manipulação dos dados do programa Imagine declarar 4 cadastros para 4 pessoas diferentes ESTRUTURAS Utilizando uma estrutura o mesmo pode ser feito da seguinte maneira ACESSO ÀS VARIÁVEIS Como é feito o acesso às variáveis da estrutura Cada variável da estrutura pode ser acessada com o operador ponto Ex ACESSO ÀS VARIÁVEIS Como nos arrays uma estrutura pode ser previamente inicializada ACESSO ÀS VARIÁVEIS E se quiséssemos ler os valores das variáveis da estrutura do teclado Resposta basta ler cada variável independentemente respeitando seus tipos ACESSO ÀS VARIÁVEIS Note que cada variável dentro da estrutura pode ser acessada como se apenas ela existisse não sofrendo nenhuma interferência das outras Uma estrutura pode ser vista como um simples agrupamento de dados Se faço um scanf para estruturaidade isso não me obriga a fazer um scanf para estruturanumero ESTRUTURAS Voltando ao exemplo anterior se ao invés de 5 cadastros quisermos fazer 100 cadastros de pessoas ARRAY DE ESTRUTURAS SOLUÇÃO criar um array de estruturas Sua declaração é similar a declaração de um array de um tipo básico Desse modo declarase um array de 100 posições onde cada posição é do tipo struct cadastro Tipo de dado Variável Tamanho ARRAY DE ESTRUTURAS Lembrando struct define um conjunto de variáveis que podem ser de tipos diferentes array é uma lista de elementos de mesmo tipo cad0 cad1 cad2 cad3 ARRAY DE ESTRUTURAS Num array de estruturas o operador de ponto vem depois dos colchetes do índice do array EXERCÍCIO Utilizando a estrutura abaixo faça um programa para ler o número e as 3 notas de 10 alunos EXERCÍCIO SOLUÇÃO Utilizando a estrutura abaixo faça um programa para ler o número e as 3 notas de 10 alunos ATRIBUIÇÃO ENTRE ESTRUTURAS Atribuições entre estruturas só podem ser feitas quando as estruturas são AS MESMAS ou seja possuem o mesmo nome ATRIBUIÇÃO ENTRE ESTRUTURAS No caso de estarmos trabalhando com arrays a atribuição entre diferentes elementos do array é válida Note que nesse caso os tipos dos diferentes elementos do array são sempre IGUAIS ESTRUTURAS DE ESTRUTURAS Sendo uma estrutura um tipo de dado podemos declarar uma estrutura que utilize outra estrutura previamente definida char nome50 int idade struct endereco ender cadastro char rua50 int numero ESTRUTURAS DE ESTRUTURAS Nesse caso o acesso aos dados do endereço do cadastro é feito utilizando novamente o operador ponto ESTRUTURAS DE ESTRUTURAS Inicialização de uma estrutura de estruturas COMANDO TYPEDEF A linguagem C permite que o programador defina os seus próprios tipos com base em outros tipos de dados existentes Para isso utilizase o comando typedef cuja forma geral é typedef tipoexistente novonome COMANDO TYPEDEF Exemplo Note que o comando typedef não cria um novo tipo chamado inteiro Ele apenas cria um sinônimo inteiro para o tipo int COMANDO TYPEDEF O typedef é muito utilizado para definir nomes mais simples para estrutura evitando carregar a palavra struct sempre que referenciamos a estrutura MATERIAL COMPLEMENTAR Vídeo Aulas Aula 35 Struct Introdução Aula 36 Struct Trabalhando com Estruturas Aula 37 Struct Arrays de Estruturas Aula 38 Struct Aninhamento de Estruturas Aula 42 Typedef