Void, Recursão
O Tipo de Retorno void em C
Na linguagem de programação C, funções que são declaradas com um tipo de retorno específico devem ter uma instrução de retorno, entregando um valor que corresponda a esse tipo. No entanto, há cenários em que uma função não precisa retornar nada – talvez esteja simplesmente exibindo texto na tela. Para tais casos, a função deve ser declarada com o tipo void.
Main.c
12345678910111213#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }
A palavra-chave void especifica que uma função não retorna um valor, e também pode ser usada no contexto de ponteiros. Tentar declarar uma variável do tipo void resultará em um erro porque o compilador não entenderá quanto de memória alocar.
Aqui está um erro intencional para ilustração.
Main.c
12345678#include <stdio.h> int main() { void variable; return 0; }
Explorando a Recursão
C suporta a capacidade de uma função chamar a si mesma, uma técnica conhecida como recursão.
Imagine a recursão como a ação de esticar e depois soltar um elástico. É comumente utilizada em operações matemáticas, como calcular fatoriais.
Por exemplo: 3! = 3 x 2 x 1
Fatoriais são frequentemente utilizados na aproximação de valores de funções ao expandir essas funções em séries de Taylor ou Maclaurin.
Nota
A inspiração para este capítulo veio logo após o autor completar uma tarefa de laboratório na universidade. A tarefa era aproximar o valor da cotangente a uma certa precisão expandindo-a em uma série de Taylor. E naturalmente, o cálculo do fatorial foi indispensável.
Main.c
1234567891011121314151617181920#include <stdio.h> int factorial(int n) { // if n = 0 or 1, because 0! = 1 and 1! = 1 if (n == 0 || n == 1) return 1; // recursion case else return n * factorial(n - 1); } int main() { int n = 3; printf("factorial(%d) = %d\n", n, factorial(n)); return 0; }
No contexto da recursão, a função continuará a chamar a si mesma até que atenda à condição n == 0 || n == 1. Uma vez que essa condição é satisfeita, os resultados das chamadas subsequentes da função factorial() são retornados na ordem inversa, semelhante a dobrar um acordeão. Quando o passo 6 é alcançado, a chamada inicial para factorial(3) retornará 6.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain more about how the void return type is used in C?
What are some common mistakes when using recursion in C?
Could you provide an example of a recursive function in C?
Awesome!
Completion rate improved to 2.63
Void, Recursão
Deslize para mostrar o menu
O Tipo de Retorno void em C
Na linguagem de programação C, funções que são declaradas com um tipo de retorno específico devem ter uma instrução de retorno, entregando um valor que corresponda a esse tipo. No entanto, há cenários em que uma função não precisa retornar nada – talvez esteja simplesmente exibindo texto na tela. Para tais casos, a função deve ser declarada com o tipo void.
Main.c
12345678910111213#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }
A palavra-chave void especifica que uma função não retorna um valor, e também pode ser usada no contexto de ponteiros. Tentar declarar uma variável do tipo void resultará em um erro porque o compilador não entenderá quanto de memória alocar.
Aqui está um erro intencional para ilustração.
Main.c
12345678#include <stdio.h> int main() { void variable; return 0; }
Explorando a Recursão
C suporta a capacidade de uma função chamar a si mesma, uma técnica conhecida como recursão.
Imagine a recursão como a ação de esticar e depois soltar um elástico. É comumente utilizada em operações matemáticas, como calcular fatoriais.
Por exemplo: 3! = 3 x 2 x 1
Fatoriais são frequentemente utilizados na aproximação de valores de funções ao expandir essas funções em séries de Taylor ou Maclaurin.
Nota
A inspiração para este capítulo veio logo após o autor completar uma tarefa de laboratório na universidade. A tarefa era aproximar o valor da cotangente a uma certa precisão expandindo-a em uma série de Taylor. E naturalmente, o cálculo do fatorial foi indispensável.
Main.c
1234567891011121314151617181920#include <stdio.h> int factorial(int n) { // if n = 0 or 1, because 0! = 1 and 1! = 1 if (n == 0 || n == 1) return 1; // recursion case else return n * factorial(n - 1); } int main() { int n = 3; printf("factorial(%d) = %d\n", n, factorial(n)); return 0; }
No contexto da recursão, a função continuará a chamar a si mesma até que atenda à condição n == 0 || n == 1. Uma vez que essa condição é satisfeita, os resultados das chamadas subsequentes da função factorial() são retornados na ordem inversa, semelhante a dobrar um acordeão. Quando o passo 6 é alcançado, a chamada inicial para factorial(3) retornará 6.
Obrigado pelo seu feedback!