TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Programação Estruturada

Por:   •  23/8/2015  •  Trabalho acadêmico  •  785 Palavras (4 Páginas)  •  226 Visualizações

Página 1 de 4

Anhanguera Educacional

Unidade BH3

Tecnólogo em Análise e Desenvolvimento de Sistemas

Atividades Práticas Supervisionadas:

Etapa 3

Professor (a): Charles Fortes

Disciplina: Programação Estrutura II

Alunos: Gabrielle Targino Costa – R.A 9858492719

Giselle Santos - R.A 9858502542

Ricardo Wayne Andrade da Rocha – R.A 1577156201

Belo Horizonte

2015


Ponteiros

O que são Ponteiros?

Um ponteiro é uma variável contendo um endereço de memória. Esse endereço é a posição de uma outra variável na memória. Então, dizemos que a  primeira variável aponta para a segunda variável indiretamente.

Declarando um ponteiro

Qualquer ponteiro deverá ser declarado antes de ser usado assim como qualquer variável. Para isso devemos informar um tipo de base, um * e o nome da variável. Os ponteiros declarados podem apontar para qualquer tipo de dados.

Na forma geral fica assim:

tipo*nome;

Abaixo um exemplo de como as variáveis alocam-se na memória. Observe que o valor 6 está no endereço de memória 1 e aponta para o endereço de memória 6 onde se encontra a variável 4.

[pic 1]

Figura 1 – Exemplo de variável apontando para outra variável

Operadores de Ponteiros

Para Ponteiros existem dois operadores, o & é um operador unário que retorna o valor de seu operando, ou seja seu endereço na memória. Exemplo:

x=#

em x é colocado o endereço da memória que contém a variável num ou x recebe o endereço de num.

O operador * , chamado de operador de referência indireta retorna o valor do objeto ao qual seu operando aponta. Como exemplo:

printf(“%d”, *num);

A instrução imprime o valor alocado na variável num.

Chamando Funções

Os Ponteiros e o operador de referência indireta podem ser usados para simular chamadas por referência onde são passados os endereços dos argumentos. Para tal deve-se aplicar o operador de endereço (&) á variável. O endereço de uma função é acessível através de uma variável do tipo ponteiro.

Um exemplo de utilização de ponteiro para função seria na organização ou ordenação de elementos de um arranjo de inteiros:

int comp_int ( int *d1, int *d2) {

return (*d1 - *d2);

}

O código acima compara dois dados inteiros e retorna: zero se os dois dados forem iguais, retornará um inteiro negativo quando o primeiro dado for menor que o segundo e por fim retornará um inteiro positivo se o primeiro dado for maior que o segundo. Mais adiante veremos exercícios práticos para exemplificar.

Ponteiros de Ponteiros

Variáveis declaradas com dois asteriscos são ponteiros para ponteiros. Exemplo

int main{

**ponteiro, *ponte;

}

**ponteiro é um ponteiro que aponta para outro ponteiro.

[pic 2]

Exercício 1

Vamos escrever um código fonte que imprima o valor alocado na variável a onde a=10 e *pa=7. 

[pic 3]

Saída:

[pic 4]

Figura 1.– Exemplo mostra valor alocado em uma variável.

[pic 5]

           Exercício 1.1

Vamos escrever um código fonte que conte a quantidade de caracteres de uma palavra qualquer.

[pic 6]

Saída:

[pic 7]

Figura 1.1 – Impressão de quantidade de caracteres de uma palavra

Ponteiros para matriz usando função!

Exercício 2[pic 8]

Sistema compondo uma função com matriz usando ponteiros para armazenar os valores da mesma.

Implementação do Código Fonte:

[pic 9]

Resolução Passo a Passo

Declarando a função matriz inicializando e passando seu tamanho juntamente com o ponteiro ‘ armazena ‘, fazendo com que o ponteiro receba os valores da matriz manipulando seus dados com o loop.

A função é chamada logo abaixo dentro do escopo principal mostrando os dados na tela como se vê a seguir:

...

Baixar como (para membros premium)  txt (5.6 Kb)   pdf (382.8 Kb)   docx (104.8 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com