O documento apresenta um resumo sobre estruturas de dados em C, definindo-as como uma forma de criar novos tipos compostos que permitem armazenar diferentes tipos de dados. É explicado como definir uma estrutura, declarar variáveis do tipo da estrutura e acessar seus elementos. Também são mostrados exemplos de uso de estruturas como parâmetros de funções e compostas por outras estruturas.
Introdução a programação gráfica com Processing - Aula 01Lucas Cabral
Primeira aula do minicurso de Processing promovido pelo Laboratório de Experiência Digital da UFC. São abordados os princípios básicos da programação computacional através da linguagem Processing.
Introdução a programação gráfica com Processing - Aula 02Lucas Cabral
Segunda parte do curso de introdução ao Processing promovido pelo Laboratório de Experiência Digital da Universidade Federal do Ceará. Nessa aula são abordados princípios básicos do uso de arrays e programação orientada a objetos.
Know your Memes, tropes, and teach it YouTube style! Being culturally literate and hip to the Interwebs keeps us relevant and inspires instant student engagement. Teaching our kids about intellectual property shifts, content curation, and Creative Commons while still embracing the digital remix YouTube generation is part of a critical new toolbox for creative student (and teacher!) expression.
See my presentation wiki for more! http://thedaringlibrarianpresents.wikispaces.com/Remix_Mashup
Introdução a programação gráfica com Processing - Aula 01Lucas Cabral
Primeira aula do minicurso de Processing promovido pelo Laboratório de Experiência Digital da UFC. São abordados os princípios básicos da programação computacional através da linguagem Processing.
Introdução a programação gráfica com Processing - Aula 02Lucas Cabral
Segunda parte do curso de introdução ao Processing promovido pelo Laboratório de Experiência Digital da Universidade Federal do Ceará. Nessa aula são abordados princípios básicos do uso de arrays e programação orientada a objetos.
Know your Memes, tropes, and teach it YouTube style! Being culturally literate and hip to the Interwebs keeps us relevant and inspires instant student engagement. Teaching our kids about intellectual property shifts, content curation, and Creative Commons while still embracing the digital remix YouTube generation is part of a critical new toolbox for creative student (and teacher!) expression.
See my presentation wiki for more! http://thedaringlibrarianpresents.wikispaces.com/Remix_Mashup
Conociendo el telar mapuche se puede observar las matemáticas que se hacen de manera innata, ya que las personas que los elaboran no saben que las desarrollan.
Congreso de carreras de Comunicación y Periodismo: Mejor Periodismo, mejor so...DPeriodistas
Exposición de José María Costa, de la Universidad Nacional de Asunción, durante el Congreso de carreras de Comunicación y Periodismo, organizado por Semillas para la Democracia, con respaldo de DPeriodistas. Desarrollado el 30 de agosto de 2013 en la Universidad Autónoma de Asunción (UAA) - Paraguay.
Uma estrutura é uma coleção de uma ou mais variáveis, possivelmente de tipos diferentes, colocadas juntas sob um único nome para manipulação conveniente. Por exemplo, para representar um aluno são necessárias as informações nome, matrícula, conceito. Ao invés de criar três variáveis, é possível criar uma única variável contendo três campos. Em C/C++, usa-se a construção struct para representar esse tipo de dado.
Modelação de Dados com DER e Modelo Relacional, das aulas de Planeamento de Sistemas de Informação do Mestrado em Informação Empresarial da Escola Superior de Estudos Industriais e de Gestão do Instituto Politécnico do Porto.
2. Instituto de Computação – UFAL
Agenda!
Objetivo
Aprender a usar estruturas
O que veremos?
O que são ?
Como criar uma estrutura?
Como usar?
Estruturas como parâmetros de funções
Exercícios de fixação
rodrigo@ic.ufal.br slide 2
3. Instituto de Computação – UFAL
Motivação
Voltemos ao Array
Um array é um exemplo de uma estrutura de dados
Pega um tipo de dados simples: int, char, float,
double …
… organiza-os em uma cadeia linear de elementos
desses tipos
Restrição
Um array é composto de elementos de um mesmo
tipo
rodrigo@ic.ufal.br slide 3
4. Instituto de Computação – UFAL
Motivação
Mas pra que serveria uma estrutura de dados
que permita tipos diferentes?
Por exemplo, 05 primeiros elementos são int e os
dois ultimos são char
Você consegue visualizar algum cenário em que tipos
diferentes seriam úteis?
Exemplo: Ficha cadastral dos clientes de uma locadora
nome : char[255];
idade: int;
casado: int; // 1=sim, 2=não
…
rodrigo@ic.ufal.br slide 4
5. Instituto de Computação – UFAL
Motivação
Com o que sabemos até agora, teríamos que
trabalhar com variáveis diferentes
Até já fizemos um exemplo disso, lembram da
lanchonete?
int codigo[TAMANHO] = {101, 102, 103, 104, 105} ;
float preco[TAMANHO] = {1.20, 1, 2.5, 1, 2};
char *descricao[TAMANHO] = {"Refrigerante", "Suco", "Sanduiche", "Salgado",
"Torta"};
int quantidade[TAMANHO] = {0,0,0,0,0};
float subtotal[TAMANHO];
int indice, i;
Na verdade, o que queríamos eram as informações dos produtos e
dos pedidos
rodrigo@ic.ufal.br slide 5
6. Instituto de Computação – UFAL
Definindo um novo tipo
Em C já existem uma série de tipos pré-
definidos
int, float, char, double …
Vamos aprender a definir novos tipos
Os tipos definidos por nós serão “tipos
compostos”
Tipos que são compostos de outros tipos
rodrigo@ic.ufal.br slide 6
7. Instituto de Computação – UFAL
Estruturas
São uma forma de definir novos tipos
compostos
O que precisaremos fazer?
Duas etapas
Definir a estrutura
Declarar as variáveis do tipo da estrutura que acabamos de
definir
rodrigo@ic.ufal.br slide 7
8. Instituto de Computação – UFAL
Estruturas
Suponha que vamos fazer o registro dos
funcionários de uma empresa
Nome
Idade
Salário
A estrutura:
struct funcionario
{
char nome[255];
int idade;
float salario;
};
rodrigo@ic.ufal.br slide 8
9. Instituto de Computação – UFAL
Declaração de variáveis
Podemos usar o novo tipo para declarar
variáveis
main()
{
struct funcionario rodrigo, carlos, jose, maria;
}
rodrigo@ic.ufal.br
tipo Identificadores das variáveis
slide 9
10. Instituto de Computação – UFAL
Como usar as estruturas?
main()
{
struct funcionario joao, maria;
strcpy(joao.nome, "Joao da Silva");
joao.idade = 32;
joao.salario = 3000.00;
strcpy(maria.nome, "Maria Jose");
maria.idade = 41;
maria.salario = 4250.00;
}
rodrigo@ic.ufal.br slide 10
12. Instituto de Computação – UFAL
Estruturas como parâmetro de funções
A passagem é feita por valor e não por
referência!
Exemplo:
https://dl.dropbox.com/u/17364381/p1/estruturas
.c
rodrigo@ic.ufal.br slide 12
13. Instituto de Computação – UFAL
Compondo estruturas com outras estruturas
Podemos definir estruturas que são compostas
de outras estruturas
rodrigo@ic.ufal.br slide 13
14. Instituto de Computação – UFAL
No nosso código
Ponteiros para estruturas
Formas de acessar os elementos da estrutura
através de um ponteiro
Passagem por referência
Usando um array como um elemento da
estrutura
Arrays de estruturas
rodrigo@ic.ufal.br slide 14
15. Instituto de Computação – UFAL
Typedef
Define explicitamente um tipo de dado
Sem o typedef:
struct funcionario
{
char nome[255];
int idade;
float salario;
};
struct funcionario funcionario1, funcionario2;
Com o typedef:
typedef struct
{
char nome[255];
int idade;
float salario;
}t_funcionario;
t_funcionario funcionario1, funcionario2;
rodrigo@ic.ufal.br slide 15
16. Instituto de Computação – UFAL
Exercícios de fixação
Ler Seção 9.2 do livro do Jaime
Refaça os exemplos vistos em sala.
Modifique o seu trabalho para usar estruturas
Olhe as estruturas das bibliotecas que você está
utilizando no trabalho final e procure entende-
las
Atenção: Na próxima aula, faremos um mini-
teste na sala de aula.
Assunto: arrays, ponteiros e estruturas
rodrigo@ic.ufal.br slide 16