Buscar

Funções, Passagem de parâmetro e Recursão

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Função 1
🌑
Função
Definição
Escrita → formato nome(formato){}
Tipos →int, void, float
Obrigatório
Sempre declarar antes do main
Sempre que uma função retorna um endereço colocar * na frente. ( Exemplo 
de endereço é um vetor ) 
int *nome(int m);
Passagem de parâmetro
Passagem por valor
Essa é a forma como ocorre normalmente as funções
Funcionamento
O valor normal é copiado para a nova função
No final a variável local é destruída e o valor é descartado
O fluxo do programa continua de onde estava antes da função ser chamada e 
a variável inicial continua igual
Passagem por referência
É quando é passado o endereço das variáveis e não seu valor
A alteração da variável na função chamada ocorre também no local natural 
dela
A maneira de chamada é diferente, tem que ter um & antes da variável
Quando uma variável recebe o endereço de outra se fala que ela está 
apontando para outra
Chamado de ponteiro, pois a mudança ocorre onde ele está apontando.
Escrita → tipo* x
Função 2
Escrita chamada → função(&x) ( O & significa endereço )
Recursão
Características 
Função recursiva é uma que chama a si mesmo
Serve para generalizar quando se tem algo muito repetitivo
Dividi um problema maior em vários menores
Toda função recursiva precisa ter um critério de parada, pois se não fica se 
chamando para sempre
Funcionamento:
Caminho de ida: Primeiro ocorre a chamada dela que vai se chamando até entrar 
no critério de parar, e assim entrar no caso base.
Caminho de volta: Ela devolve os resultados e remove a função chamada da 
memória até não restar nenhuma que foi chamada.
Observações
O parâmetro passado pela função deve ser mudado quando se chama, para 
existir um fim na sua chamada.
Uma função recursiva gasta mais tempo que sua versão iterativa, pois cada 
vez que é chamada ela precisa ser armazenada

Continue navegando