Escolar Documentos
Profissional Documentos
Cultura Documentos
Tipo-do-ponteiro *nome;
Quando o compilador encontra o asterisco (*) ele interpreta que não vai
ser guardada uma variável e sim um endereço para aquele tipo de variável.
Exemplo:
int *Pnum;
float *Pmedia;
Exemplo:
int num = 5;
int *Pnum;
Pnum = #
int num = 5;
int *Pnum;
Pnum = #
*Pnum = 8;
Exemplo:
#include <stdio.h>
int main ()
{
int num = 5;
int *Pnum;
Pnum=#
printf ("\nNeste momento num vale: %d\n\n", num);
printf ("Este e' o endereco da variavel num: %p\n\n",Pnum);
*Pnum = 8;
printf ("O valor de num agora e': %d\n\n",*Pnum);
return(0);
}
Executando temos:
Repare que não foi necessário utilizar o operador & na atribuição, pois um
array na verdade consiste num endereço lógico.
Exemplo:
#include <stdio.h>
int main(){
int numero;
printf("Digite um numero: ");
scanf("%d", &numero);
printf("\nNumero digitado: %d", numero);
dobra(numero);
printf("\nNumero apos executar a funcao: %d", numero);
return(0);
}
Executando temos:
Como podemos observar o valor da variável numero não foi alterado após a
função ser executada. Uma forma de contornar este problema é definindo a
variável como sendo global, como vemos a seguir.
#include <stdio.h>
int numero;
int dobra(){
numero = 2*numero;
}
int main(){
printf("Digite um numero: ");
scanf("%d", &numero);
printf("\nNumero digitado: %d", numero);
dobra();
printf("\nNumero apos executar a funcao: %d", numero);
return(0);
}
Este é o tipo de recurso que nem sempre pode ser utilizado, pois depende muito
do tipo de função e da forma de programar. Quando estamos utilizando ou
construindo uma biblioteca, fica difícil trabalhar desta forma.
#include <stdio.h>
int main(){
int numero;
int *ponteiro;
printf("Digite um numero: ");
scanf("%d", &numero);
printf("\nNumero digitado: %d", numero);
ponteiro = №
dobra(ponteiro);
printf("\nNumero apos executar a funcao: %d", numero);
return(0);
}
No C++ temos uma forma mais simples de realizar este tipo de operação, na
função basta definir o parâmetro como sendo uma referência, para isto utilizamos
o caractere & antes do nome da variável.
#include <stdio.h>
int numero;
int main(){
int numero;
printf("Digite um numero: ");
scanf("%d", &numero);
printf("\nNumero digitado: %d", numero);
dobra(numero);
printf("\nNumero apos executar a funcao: %d", numero);
}
#include<stdio.h>
int main(){
float array[5] = {6.5,5,8,4.5,7};
printf("Media = %.2f",media(5,array));
}