Escreva uma função que calcule a área de um quadrilátero. Receba a base e a altura do quadrilátero do usuário.
a) Usando um ponteiro imprima o endereço de memória da função
b) Utilize um ponteiro para executar a função.
Passo 1
Vamos que vamos, galera!
A foco da questão é fazer a gente trabalhar os conceitos básicos de ponteiro de função. Então vamos usar o seguinte roteiro:
- Criar uma função
- Criar um ponteiro para uma função
- Receber valores do usuário
- Imprimir o endereço da função
- Executar a função através do ponteiro
Mas antes disso tudo, vamos escrever o cabeçalho da função:
Passo 2
A questão pede pra gente criar uma função que calcule a área de um quadrilátero. Então vamos desenvolver uma função chamada do tipo . A função recebe dois valores e do tipo .
A única ação desta função é retornar o produto das duas variáveis:
Essa será a função que usaremos ao longo do código.
Passo 3
Em seguida a questão nos pede para criar um ponteiro para esta função. Lembre-se que para criar o ponteiro para uma função usamos a forma geral:
No nosso caso vamos criar um ponteiro chamado , então para criar o nosso ponteiro vamos utilizar:
No código fica desta forma:
Passo 4
Ok, agora que temos o nosso ponteiro, vamos mudar o foco rapidamente.
Para utilizar a função, precisamos receber do usuário o valor da base e da altura do quadrilátero. Para isso vamos criar duas variáveis do tipo chamadas para a base e para a altura.
Em seguida utilizamos o comando para solicitar os valores para o usuário, e com o armazenamos os valores nas variáveis correspondentes.
Passo 5
Com a função definida, o ponteiro criado, e os valores recebidos, finalmente podemos responder aos itens da questão:
a) Usando um ponteiro imprima o endereço de memória da função
A gente já tem o ponteiro que aponta para a função . Como o ponteiro já está criado, para imprimir endereço de memória de uma função basta usar a expressão a seguir:
No nosso código, essa expressão fica:
Passo 6
E agora vamos resolver o segundo item da questão:
b) Utilize um ponteiro para executar a função.
Quando temos um ponteiro que aponta para uma função, este ponteiro funciona como um “apelido” da função. Isso quer dizer que é só a gente utilizar o ponteiro como se fosse a função.
Então se a gente escrever o nome do ponteiro e em seguida passar os parâmetros entre parêntesis, vamos conseguir executar a função. No código fica desta forma:
E prontinho. Questão concluída.