Programação Procedimental GBC /1 Prof. Renan Cattelan Prática 10. Estruturas e alocação dinâmica

Documentos relacionados
Modulo 12: alocação dinâmica de memória

Estrutura de Dados. Aula 07 Alocação Dinâmica

Ponteiros. Introdução e Alocação Dinâmica

1/34 GESTÃO DINÂMICA DE MEMÓRIA

Programação II. Aula 1

Professor: Jó Ueyama Estagiário PAE: Heitor Freitas

Plano de Aula Segunda-feira Tarde 13/10/2014 Objetivo: Introduzir o conceito de alocação dinâmica na memória e registros / structs.

Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta

Ponteiros. Introdução

Ponteiros em C. Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1

Reinaldo Gomes Alocação Dinâmica

Alocação Estática e Dinâmica. Prof. M.Sc. Mariella Berger

- Mapa de memória de um processo - Ponteiros

ALOCAÇÃO DINÂMICA DE MEMORIA Lista 10. A linguagem C/C++ possui recursos para alocação dinâmica de memoria.

Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores

Alocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR)

Alocação dinâmica de Memória

Estruturas de Dados Aulas 3 e 4: Uso da. 14/03/2011 e 16/03/2011

a) Preencher um vetor com os números 0 a 10, e depois mostrar somente os elementos pares.

LINGUAGEM C: ALOCAÇÃO DINÂMICA

Programação I Ponteiros e alocação dinâmica de memória. Prof. Carlos Alberto

Algoritmos e Estruturas de dados

Estruturas de Dados. Professora: Luciana Faria 2º EAC

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

ALOCAÇÃO DINÂMICA DE MEMÓRIA

A sintaxe para se declarar uma variável do tipo ponteiro é dada por:

Programação Computacional Aula 16: Alocação Dinâmica de Memória

MC-102 Aula 19 Ponteiros II

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica

Professora Jeane Melo

Exercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)

Ponteiros. Baseado nos slides do Prof. Mauro.

PONTEIROS E LISTAS. Kalinka Regina Lucas Jaquie Castelo Branco

Alocação Dinâmica. Introdução à Computação

Ponteiro. Ponteiro. Objetivo. Compreender a definição e dominar a implementação de ponteiros em C.

Laboratório de Programação II

Aula 17: Ponteiros e Alocação Dinâmica em C

ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS

Princípios de Desenvolvimento de Algoritmos MAC122

A linguagem C permite dois tipos de alocação de memória: Alocação estática e alocação dinâmica.

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas

DAS5102 Fundamentos da Estrutura da Informação

3. Linguagem de Programação C

AULA 6. Conceitos. Melhores momentos. Conceitos. Conceitos. Conceitos. Conceitos

Exercícios. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal

Alocação Dinâmica de Memória. Programação II

Lista Encadeada (Linked List)

Aula 06 Introdução à Programação Matrizes

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio

Aula 24 Ponteiros, vetores e structs

Introdução à Computação

Estrutura de Dados. Introduc a o e Alocac a o de Memo ria. Vilson Heck Junior. Instituto Federal de Santa Catarina

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Aula 24: Ponteiros e Alocação Dinâmica

O que é um jogo digital?

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/61

Ponteiros e Alocação Dinâmica. Prof. Péricles Miranda

GEQ Prof. Paulo R. Coelho. Lista para prova

Ponteiros e Tabelas. K&R: Capitulo 5 IAED, 2012/2013

Ponteiros e Tabelas. K&R: Capitulo 5 IAED, 2012/2013

Métodos Computacionais. Vetores e Matrizes Dinâmicas

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/54

Algoritmos e Estruturas de Dados I

Exercícios: Arquivos

SSC304 Introdução à Programação Para Engenharias. Alocação Dinâmica. GE4 Bio

Estrutura de dados 1. Ponteiros

INF 1007 Programação II

Tipos Abstratos de Dados. Estrutura de Dados

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF029 Laboratório de Programação Aula 03: Ponteiros

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes

Programação. Cap. 12 Gestão de Memória Dinâmica

Programação Estruturada e Orientada a Objetos. Estruturas Aninhadas

Programação de Computadores II. Cap. 5 Alocação Dinâmica

INF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes

Aula 25: Alocação Dinâmica

Aula 25: Alocação Dinâmica

x=0; y=x+1; x=&y+2; x 1000 y 1004

Linguagem C. Ponteiros. Alex Vidigal Bastos.

Programação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória

Linguagem C: Ponteiros - Alocação Dinâmica

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Vetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti

Ponteiros e alocação dinâmica de memória. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória

Apontadores/ponteiros

Alocação Dinâmica em C

Alocação Dinâmica em C

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná

Programação II. Arquivos - Conceito. Arquivos

Ponteiros - Parte I. Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória

Linguagem C Ponteiros

Ponteiros & tabelas (cont.) K&R: Capítulo 5

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1)

Transcrição:

Programação Procedimental GBC014 2015/1 Prof. Renan Cattelan www.facom.ufu.br/~renan Prática 10 Estruturas e alocação dinâmica

Exercício Crie um programa para armazenar uma agenda de contatos pessoais usando estrutura. Faça funções para 1. listar contatos, 2. pesquisar por nome, 3. pesquisar por telefone. Um contato deve ser composto por nome, endereço, telefone e e-mail. Use alocação dinâmica para o armazenamento do nome do contato. Para definir e armazenar a lista de contatos, use um vetor de estrutura, também alocado dinamicamente.

Estruturas Como visto na prática 8, uma estrutura é uma estrutura de dados criada a partir de tipos básicos Na prática, funciona como uma coleção de variáveis, possivelmente de tipos diferentes

Exercício Crie um programa para armazenar uma agenda de contatos pessoais usando estrutura. Faça funções para 1. listar contatos, 2. pesquisar por nome, 3. pesquisar por telefone. Um contato deve ser composto por nome, endereço, telefone e e-mail. Use alocação dinâmica para o armazenamento do nome do contato. Para definir e armazenar a lista de contatos, use um vetor de estrutura, também alocado dinamicamente.

Exercício Crie um programa para armazenar uma agenda de contatos pessoais usando estrutura. Faça funções para 1. listar contatos, 2. pesquisar por nome, 3. pesquisar por telefone. Um contato deve ser composto por nome, endereço, telefone e e-mail. Use alocação dinâmica para o armazenamento do nome do contato. Para definir e armazenar a lista de contatos, use um vetor de estrutura, também alocado dinamicamente.

Alocação de memória Estática (antes da execução do programa) Dinâmica (durante a execução do programa)

Alocação de memória Função malloc(): abreviatura de memory allocation aloca um bloco de bytes consecutivos na memória do computador e devolve o endereço desse bloco o número de bytes é especificado no argumento da função o endereço devolvido por malloc é do tipo "genérico" (void *) neste exemplo, malloc aloca 1 byte, espaço suficiente para Estática (antes da execução do programa) Dinâmica (durante a execução do armazenar programa) 1 caractere

Alocação de memória Estática (antes da execução do programa) é possível recorrer ao operador sizeof, que informa quantos bytes um tipo de dado Dinâmica (durante a execução do programa) especifico tem no exemplo, malloc aloca uma string de 50 caracteres

Alocação dinâmica do vetor de contatos Alocação dinâmica do nome do contato

o espaço inicial (' ') consome qualquer \n que já esteja na stream stdin 50 é o limite para o número de caracteres lido [^\n] aceita qualquer caracter até a entrada de um \n finalmente, %*c consome qualquer \n pressionado após a entrada da string

Exercício Crie um programa para armazenar uma agenda de contatos pessoais usando estrutura. Faça funções para 1. listar contatos, 2. pesquisar por nome, 3. pesquisar por telefone. Um contato deve ser composto por nome, endereço, telefone e e-mail. Use alocação dinâmica para o armazenamento do nome do contato. Para definir e armazenar a lista de contatos, use um vetor de estrutura, também alocado dinamicamente.

Exercício Crie um programa para armazenar uma agenda de contatos pessoais usando estrutura. Faça funções para 1. listar contatos, 2. pesquisar por nome, 3. pesquisar por telefone. Um contato deve ser composto por nome, endereço, telefone e e-mail. Use alocação dinâmica para o armazenamento do nome do contato. Para definir e armazenar a lista de contatos, use um vetor de estrutura, também alocado dinamicamente.

Exercício Crie um programa para armazenar uma agenda de contatos pessoais usando estrutura. Faça funções para 1. listar contatos, 2. pesquisar por nome, 3. pesquisar por telefone. Um contato deve ser composto por nome, endereço, telefone e e-mail. Use alocação dinâmica para o armazenamento do nome do contato. Para definir e armazenar a lista de contatos, use um vetor de estrutura, também alocado dinamicamente.