MC102 - Algoritmos e Programação de Computadores 14ª Aula - Ponteiros Amanda Meincke Melo Instituto de Computação/Unicamp 1º Sem/2005.

Slides:



Advertisements
Apresentações semelhantes
Laboratório de programação III Linguagem C
Advertisements

Construção de Algoritmos AULA 07
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Programação II Estruturas de Dados
Programação II Estruturas de Dados
Algoritmos e Estrutura de Dados I
Introdução à Computação - Jorge Macêdo
MC102 - Algoritmos e Programação de Computadores
Alocação Dinâmica de Memória
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Ponteiros em C.
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Linguagem C Strings.
Ponteiros em Linguagem C
Slides: Prof. João Fabro UTFPR - Curitiba
Ponteiros.
Escola Secundária c/ 3º CEB da Batalha
Listas Encadeadas.
Revisão da Linguagem C.
O Portal do Estudante de Computação
Vetor de Ponteiros Exemplo de Alocação. Escrever Vetor de Vetores de floats int main() { int i, k, n; float **vetor; // vetor de vetores int *tamanho;
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Prof.° Jean Daniel Henri Merlin Andreazza Estrutura de Dados
Ponteiros Variáveis do tipo “ponteiro” armazenam endereços de memória
1 Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa.
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
Definição de Tipos Estruturas e Ponteiros
CADEIA DE CARACTERES (Strings)
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
DAVID ANDERSON CARDOSO DANTAS
PROGRAMAÇÃO PROCEDIMENTAL
Prof. Ricardo Santos PONTEIROS
Linguagem C : Ponteiros
Leandro Almeida  Parâmetros são utilizados em computação para possibilitar a construção de subprogramas genéricos.
Algoritmo e Programação
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Algoritmos e Estruturas de Dados I – Ponteiros
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Listas.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
PROGRAMAÇÃO ou LINGUAGEM C?
Capítulo V – Comandos de Entrada e Saída 5.1 – Equipamentos de entrada e saída 5.2 – Saída no vídeo-texto 5.3 – Entrada pelo teclado 5.4 – Entrada e saída.
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.
Joaquim José Hangalo  Podemos entender a memória do computador como um conjunto de células que armazenam informações.  Cada célula.
Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores
Prof. Alessandro Gonçalves
Estruturas Revisando: tipos de dados simples
Programação de Computadores I – Arquivos
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Linguagem C.
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Ameliara Freire Dividir para Conquistar.
Profa. Maria Augusta Constante Puget
Ponteiros em C Prof. Kariston Pereira
Linguaguem de Programação II
Estruturas Homogêneas – Vetores e Matrizes
Linguaguem de Programação II
Algoritmo e Estrutura de Dados I Aulas 15 – Linguagem C Alocação Dinâmica de Memória Márcia Marra
Linguagem de Programação
PCI- Vetores Profa. Mercedes Gonzales Márquez. Aula 5 - VetoresAlgoritmos e Estruturas de Dados I Sequência de valores todos do mesmo tipo Nome único.
Programação de Computadores I – Arquivos Profa. Mercedes Gonzales Márquez.
Fundamentos de Programação 1
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Transcrição da apresentação:

MC102 - Algoritmos e Programação de Computadores 14ª Aula - Ponteiros Amanda Meincke Melo Instituto de Computação/Unicamp 1º Sem/2005

27/04/20052 Roteiro zComentários yLaboratório 06 yLaboratório 07 zRelembrando mais uma vez... zPonteiros yO que são? yRepresentação na memória yRepresentação na linguagem C yPor quê? yExemplos

27/04/20053 Relembrando mais uma vez... zUma variável está associada a uma posição de memória e qualquer referência a ela significa um acesso ao conteúdo de um pedaço de memória cujo tamanho depende de seu tipo Endereço ou Referência Nome Conteúdo

27/04/20054 Ponteiros – O que são? zUm ponteiro, ou apontador, é uma variável que contém o endereço de outra variável. Endereço ou Referência Nome Conteúdo O conteúdo é um endereço de memória

27/04/20055 Uma representação da memória ‘a’ 0x240ff5f letra (0x240ff5f) p (0x240ff58) A variável letra é do tipo char A variável p é um apontador Neste caso, dizemos que p “aponta” para letra, sendo possível ler e alterar o conteúdo de letra via p.

27/04/20056 Representação na linguagem C #include int main () { char letra = 'a'; char *p; /* Declaração de um ponteiro: neste caso, informa que p é um ponteiro que deve apontar para uma variável do tipo caracter (seu conteúdo ainda é desconhecido) */ p = &letra; /* Atribuição de um endereço a um ponteiro: neste caso, p recebe o endereço da variável letra, ou seja, p passa a apontar para a variável letra */ printf (“%c\t”, *p); /* Exibe o conteúdo da variável letra */ *p = ‘b’; /* Altera o conteúdo da variável letra */ printf (“%c\n”, letra); return 0; } Declaração: tipo *identificador;

27/04/20057 zNo exemplo anterior: ychar *p; xdeclara que p é um apontador para uma variável do tipo char y*p xNa declaração, informa que a variável p é um apontador xNo uso, possibilita acessar a posição de memória (o endereço) da variável que p aponta, ou seja, pode-se ler e alterar o conteúdo da variável que p aponta y&letra xRepresenta o endereço da variável letra

27/04/20058 zSe quisermos indicar que um ponteiro não aponta para uma variável, podemos atribuir a ele um “valor nulo”: p = NULL; zEssa informação pode ser útil em expressões condicionais: If (p == NULL) { } else { }

27/04/20059 Ponteiros – Por quê? zEventualmente, torna-se necessário que uma função dê acesso ao seu espaço de memória a outra função. Exemplo: scanf (“%c”, &letra); zO espaço de memória utilizado por um programa pode ser reservado (e liberado) dinamicamente, via ponteiros, diferentemente do que temos feito até o momento.

27/04/ Em outras palavras... 1.Provêem uma forma de comunicação entre funções 2.Podem auxiliar na construção de programas que utilizam memória de forma ponderada, conforme sua necessidade de processamento 3.Ainda... yA implementação de alguns algoritmos computacionais são mais eficientes com o uso de ponteiros

27/04/ Exemplos z(na lousa) zOutros exemplos estão disponíveis no Ensino Aberto