Apresentação do PowerPoint

Propaganda
TÉCNICAS DE
PROGRAMAÇÃO
Prof. Welber Ribeiro da Silva
PONTEIROS
●
Um ponteiro é uma variável capaz de armazenar
um endereço de memória ou o endereço de outra
variável.
Int a, b, c; //váriaveis do tipo inteiro
int *ptr; // declara um ponteiro para um inteiro
●
●
Para declarar mais de um ponteiro por linha, usa-se um
operador indireto (*) para cada
char *ch1, *ch2; //são ponteiros para o tipo char
char *ch1, *ch2, ch3; //ch3 não é um ponteiro
PONTEIROS
●
Inicialização de um ponteiro:
int var;
int *ptr;
var = 10;
ptr = &var;
●
O operador & retorna uma posição de memória
PASSAGEM DE PARAMETROS POR
REFERÊNCIA
●
●
Para acessar o conteúdo de uma posição de
memória, cujo endereço está armazenado em um
ponteiro, usa-se o operador de derreferência (*).
O operador * retorna o valor da variável
apontada
PONTEIROS
●
Impressão de ponteiros: pode-se imprimir o valor
armazenado no ponteiro (um endereço), usando-se a
função printf com o formatador %p na string de formato.
PONTEIROS
●
Exemplo 1:
PASSAGEM DE PARÂMETROS POR
VALOR
●
●
●
●
Quando passamos argumentos a uma função, os valores
fornecidos são copiados para as variáveis parâmetros da
função. Este processo é idêntico a uma atribuição.
Este processo é chamado de passagem por valor.
Desta forma, alterações nos parâmetros dentro da função
nâo alteram os valores que foram passados.
Exemplo:
PASSAGEM DE PARÂMETROS POR
REFERÊNCIA
●
●
Se precisamos que as alterações nos parâmetros da função
permaneção após a execução da função devemos fazer a
passagem de parametros por referência.
Para isso utilizamos ponteiros:
EXERCICIOS
●
1) Com base no estudo de Ponteiros, qual das
opções a baixo é correto afirmar?
a) Ponteiro é uma variável que armazena
endereço.
b) Ponteiro é o valor de uma variável.
c) Ponteiro é o indicador da próxima variável a
ser passada.
d) Ponteiro é o endereço que aponta para uma
variável.
EXERCICIOS
2) Quais das seguintes instruções declaram um
ponteiro para uma variável float?
a) float p
b) float *p
c) *float p
d) float* p
EXERCICIOS
●
3) O seguinte programa está correto? Justifique.
#include <stdio.h>
const int VAL=123;
int main()
int *p = VAL;
printf(“%d \n”, *p);
return 0;
}
EXERCICIOS
●
4) O seguinte programa está correto? Justifique.
#include <stdio.h>
const int VAL=123;
int main()
int *p = VAL;
printf(“%d \n”, *p);
return 0;
}
EXERCICIOS
●
●
5) Escreva uma função que troque os valores de
duas váriaveis iteiras. A passagem de
parametros deve ser feita por referência.
6) Faça uma função que receba um valor inteiro
como referência e retorne o resto da divisão
deste número por 10. Altere também o valor da
variável passada por referência, dividindo-a por
10.
Download