Buscar

Aula 06 - Ponteiros

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Instituto Federal do Sul de Minas Gerais 
 
Algoritmos 
Aula 06 - Ponteiros 
douglas.braz@ifsuldeminas.edu.br 
 
O que são ponteiros? 
• Ponteiros são variáveis que apontam para algum 
endereço de memória. 
 
▫ Ponteiros fornecem meios pelos quais as funções podem 
modificar seus argumentos 
 
▫ Utilizados em rotinas de alocação dinâmica 
 
▫ O uso de ponteiros pode aumentar a eficiência de certas 
rotinas 
O que são ponteiros? 
• Ponteiros são variáveis que apontam para algum 
endereço de memória. 
 
▫ Esse endereço é normalmente a posição de uma outra 
variável na memória 
 
▫ Se uma variável contém o endereço o endereço de outra, 
então a primeira variável é dita para apontar para a 
segunda. 
O que são ponteiros? 
Variáveis Ponteiros 
• Se uma variável irá conter um ponteiro, ela deve 
ser declarada: 
 
tipo *nome; 
 
int *vet; // o conteúdo do endereço apontado 
 // por vet é um inteiro 
 
char *p; 
Double *novo; 
Operadores de Ponteiros 
• Existem dois operadores principais: 
 
▫ & - operador unário que devolve o endereço na 
memória de seu operando 
 
m = &x; // m recebe o endereço da variável x 
 
Se x está na posição de memória 2000 e possui o valor 
100, qual valor será atribuído para m? 
 
Operadores de Ponteiros 
• Existem dois operadores principais: 
 
▫ * - operador unário que devolve o conteúdo da 
variável localizada no endereço que o segue. 
 
 a = *m; 
 
▫ Qual valor será colocado na variável a? 
 
 
Observação.. 
• As variáveis ponteiros devem sempre apontar 
para o tipo de dado correto. 
 
▫ Quando um ponteiro é declarado como sendo do 
tipo int, o ponteiro assume que qualquer 
endereço que ele contenha aponta para uma 
variável inteira 
Expressões com Ponteiros 
Aritmética com Ponteiros 
• Existem duas operações aritméticas que podem 
ser realizadas: adição e subtração 
 Considere que p1 um ponteiro para um inteiro, com 
valor 2000 (assuma que inteiros possuem 2 bytes) 
 
 Com a expressão 
p1++; 
 
 Qual o valor do ponteiro p1? 
Aritmética com Ponteiros 
• Existem duas operações aritméticas que podem 
ser realizadas: adição e subtração 
 Considere que p1 um ponteiro para um inteiro, com 
valor 2000 (assuma que inteiros possuem 2 bytes) 
 
 E com a expressão 
p1--; 
 
 Qual o valor do ponteiro p1? 
Aritmética com Ponteiros 
Aritmética com Ponteiros 
Relação com vetores e 
matrizes? 
Ponteiros e Matrizes 
• Há uma estreita ligação entre ponteiros e 
matrizes 
 
 
 
▫ A atribuição p1 = str faz com p1 e str apontem para 
a primeira posição do string. 
 
 
Ponteiros e Matrizes 
• Há uma estreita ligação entre ponteiros e 
matrizes 
 
 
 
 
 
Exemplo 
Indireção Múltipla 
• Você pode ter um ponteiro apontando para 
outro ponteiro que aponta para o valor final. 
Exemplo 
Problemas com Ponteiros 
Próxima Aula 
 
• Funções em C 
• Alocação Dinâmica

Outros materiais