1 Tipos avançados (versão C/C++) Em C/C++ existe a possibilidade de criar novos tipos. Em C esta possibilidade só pode ser materializada com estruturas.

Slides:



Advertisements
Apresentações semelhantes
LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Advertisements

Laboratório de Programação
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Listas encadeadas Prof. Rosana Palazon.
Listas duplamente encadeadas
Programação II Estruturas de Dados
Programação II Estruturas de Dados
List templates Vamos considerar a lista ligada (singly linked list) O objecto da classe slink O objecto da classe slink O objecto da classe slink NULL.
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
Variáveis Dinâmicas Caixas de Nós
Alocação Dinâmica de Memória
INF Computação Gráfica
Políticas Curso de aprofundamento em linguagem C.
Modificadores de tipos e Arquivos
Programação II Estruturas, uniões e enumerações
AULA – Linguagem C – Vetores, Ponteiros Estruturas
UDESC - Prof. Juliano Maia
AULA – Linguagem C – Vetores, Ponteiros e Estruturas
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade de Brasília
Escola Secundária c/ 3º CEB da Batalha
Escola Secundária c/ 3º CEB da Batalha
A linguagem C#.
Vamos agora aprender a utilizar estruturas.
Alocação Dinâmica de Memória
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Prof.° Jean Daniel Henri Merlin Andreazza Estrutura de Dados
Algoritmos e Estruturas de Dados
Listas Simplesmente Encadeadas
exercícios listas encadeadas
Professor Reverton de Paula Faculdade Anhanguera de Indaiatuba
Listas Encadeadas Raquel O. Prates, Luiz Chaimowicz, Jussara Almeida
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 13 Orientação a Objetos – C++ Parte 1
Curso de Nivelamento LCG
Funções (versão C/C++)
1 Variáveis dimensionadas Uma variável dimensionada corresponde a uma zona da memória contendo várias variáveis do mesmo tipo guardadas contiguamente.
Linguagem de Programação II Parte IX
Definição de Tipos Estruturas e Ponteiros
Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior
Estruturas de Dados com Jogos
CADEIA DE CARACTERES (Strings)
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Paradigmas e Ferramentas de Desenvolvimento de Software – Revisão da linguagem C++ Lúbia Vinhas DPI - INPE.
Faculdade de Informática e Tecnologia de Pernambuco ESTRUTURA DE DADOS
Programação orientada a objectos em C++
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
Modelos de Linguagem de Programação I Aula 06
Estruturas de Dados Aula 17: Estruturas Genéricas
1 Alocação Dinâmica Quando se declara arrays o tamanho deve ser fixo e definido primeiramente –Alocação estática Pode-se alocar dinamicamente o espaço.
Estruturas de Dados Aula 7: Tipos Estruturados 23/04/2014.
Vetores Unidimensionais Sistemas de Informação Desenvolvimento de Sistemas para Web Prof. Gale.
Vetores Unidimensionais Prof. Gale. A Variável A  Ilustrando: O que aconteceria no algoritmo... A  3 Escreva A A  5 Escreva A 3 5.
Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Aula Prática 11 Operações com Arquivos Monitoria
Estruturas Revisando: tipos de dados simples
Sistemas Operativos Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2006/2007 Breve Introdução à Linguagem C.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Leandro Almeida  As declarações abaixo alocam memória para diversas variáveis.  A alocação é estática, pois acontece antes que o programa.
Ponteiros em C Prof. Kariston Pereira
Tipo Abstrato de Dados (TAD) Estrutura de Dados Professor: Rodrigo Alves Sarmento Professor: André Cypriano.
ponteiros Estrutura de Dados Prof. André Cypriano M. Costa
1 Aula 07 Strings Prof. Filipe Mutz. 2 Em nossos programas ainda não vimos como armazenar palavras e textos, e eles são muito importantes! Exemplos: Programas.
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
Transcrição da apresentação:

1 Tipos avançados (versão C/C++) Em C/C++ existe a possibilidade de criar novos tipos. Em C esta possibilidade só pode ser materializada com estruturas struct nome{ type obj 1 ; type obj 2 ;... } optional_decl; Nestes objectos todos os elementos são de acesso público. Cada elemento pode ser acedido na forma nome.obj i.

2 Tipos avançados (versão C/C++) A declaração de objectos com essa estrutura faz-se com struct nome outro_nome, ainda_outro,...; e a inicialização pode ser feita nos mesmos moldes do que acontece para as variáveis dimensionadas. Para evitar a escrita de struct em cada declaração usa- se frequentemente typedef: typedef char byte; typedef struct particula elementar; podendo depois escrever-se elementar quark, leptao;

3 Tipos avançados (versão C/C++) Estruturas podem ser acedidas por ponteiros struct nome *ponteiro_para_nome; algo que é essencial para permitir uma passagem rápida de estruturas para dentro de funções. Como operações do tipo (*ponteiro_para_nome).obj i é muito frequente optou-se por definir um novo operador (*ponteiro_para_nome).obj i ponteiro_para_nome->obj 1

4 Tipos avançados (versão C/C++) O conceito de estrutura associado à possibilidade de tipos incompletos permite a criação de listas que se adaptam ao tamanho requerido. Isso passa por fazer struct nome{ struct nome *next;...}; NULL

5 Tipos avançados (versão C/C++) Exemplos: Criação de bibliotecas: Estática: Dinâmica: