Olá colegas,
Fiquei com um pouco de dúvida no funcionamento do ponteiro que utilizamos nesse código.
void potencia(int * resultado, int a, int b);
int main(){
int a, b;
int resultado;
a = valores(a);
b = valores(b);
printf("A = %d e B = %d\n", a, b);
potencia(a,b,&resultado);
printf("Resultado: %d\n", resultado);
}
void potencia(int * resultado, int a, int b){
(*resultado) = 1;
int i;
for(i = 0; i < b; i++){
(*resultado) = (*resultado) * a;
}
}
Quando acessamos o ponteiro na função potencia() estamos apontado para o endereço da variável resultado no função main() correto? Eu não entendi muito bem como o resultado que obtemos ao final da função pontencia(), é atribuído para a variável "resultado" da função main(), sendo que estamos apontando para o endereço da mesma ao acessar o ponteiro.
(*resultado) = (*resultado) * a;
Essa expressão está dizendo que a variável que (resultado) aponta recebe o valor calculado? Fiquei meio confuso já que são dois ponteiros na mesma expressão
Peço desculpas se dúvida não tenha ficado muito clara.