Buscar

Função em C

Prévia do material em texto

Entendendo sobre função em C 
Autor: Valdiney França 
Data: 20/10/2013 
 
 
 
Introdução: 
Imagine que você tenha que fazer um algoritmo que calcule a venda de dois refrigerantes, 
duas cervejas e dois livros. Eu já imagino como você tentaria fazer isso! 
Imagino que a maioria dos iniciantes faria desta maneira. 
#include<stdio.h> 
#include<stdlib.h> 
 
 
int main() { 
////////////////////////////////////////////////// 
// Declarando variáveis e alocando valores... 
//////////////////////////////////////////////// 
 float valor_refrigerante = 2.50, 
 valor_cerveja = 3.20, 
 valor_livro = 150; 
 
////////////////////////////////////////////////// 
// Executando o processamento dos valores... 
//////////////////////////////////////////////// 
 float calcula_refrigerante = valor_refrigerante * 2; 
 float calcula_cerveja = valor_cerveja * 2; 
 float calcula_livros = valor_livro * 2; 
 
 //////////////////////////////////////////////////////////////////// 
// Apresentando os valores processados, ou seja, calculados ... 
/////////////////////////////////////////////////////////////////// 
 printf("Refrigerantes = %.2f \n", calcula_refrigerante); 
 printf("Cervejas = %.2f \n", calcula_serveja); 
 printf("Livros = %.2f", calcula_livros); 
 
 getche(); // pausa o terminal... 
} // ... 
 
 
 
Desta forma não está errado, mas existem formas mais produtivas de realizar tarefas 
parecidas! E essa maravilhosa forma se chama função. Função é basicamente uma forma 
de criar blocos de códigos que serão utilizados varias vezes durante a execução de um 
programa! Se eu tivesse usado uma função neste algoritmo representado acima eu não 
precisaria declarar três variáveis para calcular os valores dos produtos, pois uma só função 
calcularia todas elas. 
Segui um exemplo abaixo: 
#include<stdio.h> 
#include<stdlib.h> 
 
 
int main() { 
////////////////////////////////////////////////// 
// Função escrita para calcular valores, multiplicando o mesmo por dois... 
//////////////////////////////////////////////// 
 float calculandoValores(float produto1) { 
 float calculandoValores = produto1 * 2; 
 return calculandoValores; 
 } // ... 
 
////////////////////////////////////////////////// 
// Declarando variáveis e alocando valores... 
//////////////////////////////////////////////// 
 float valor_refrigerante = 2.50, 
 valor_cerveja = 3.20, 
 valor_livro = 150; 
 
//////////////////////////////////////////////////////////////////// 
// Apresentando os valores processados, ou seja, calculados pela função... 
/////////////////////////////////////////////////////////////////// 
printf("Refrigerantes = %.2f \n", 
calculandoValores(valor_refrigerante)); 
 
printf("Cervejas = %.2f \n", calculandoValores(valor_cerveja)); 
 
printf("Livros = %.2f", calculandoValores(valor_livro)); 
 
getche(); // pausa o terminal... 
 
} // ... 
 
 
Este exemplo acima mostra como eu pude obter o calculo de todos os produtos calculados 
por uma só função! Mas o que eu preciso saber para entender o que realmente é e como 
funciona uma função? 
 
Características de uma função: 
 
Uma função tem nome que a identifica, uma função contem parênteses, uma função pode 
conter parâmetros, uma função pode receber argumentos, uma função tem chaves para 
representar o seu escopo. 
 
Você sempre ira declara uma função em C atribuindo a ela um tipo de dado e um nome para 
identifica lá. Assim: 
 
float soma() { 
 
} 
 
 
Reparem, as funções tem um tipo e um nome! Reparem que ela também tem dois 
parênteses e logicamente duas chaves indicando o escopo ou corpo da função. 
Exemplo de uma função para somar dois valores: 
 
 
 
int soma() { 
 int somando = 10 + 10; 
 } 
 
O que são parâmetros? 
 
As funções podem conter parâmetros que ao pé da letra são variáveis que serão usadas 
dentro da função, essas variáveis não podem ser acessadas de fora da função, pois 
pertencem ao escopo local, ou seja, apenas existem dentro da função! 
 
Exemplo de uma função que recebe parâmetros: 
 
int somarValores(int a, int b) { 
 return a + b; 
 } 
 
Reparem que dentro dos parênteses foram declaradas duas variáveis, essas são chamadas 
de parâmetros. Em seguida utilizei a palavra reservada ‘return’ que significa ao pé da letra: 
Essa função vai retornar um somatório de valores! 
 
Se você declarar essa função, nada vai acontecer pelo fato de termos que passar os valores 
que essa função irá computar! Os valores que passamos para uma função no momento em 
que a chamamos, são conhecidos como argumentos! Para chamar uma função usaremos 
justamente o nome da mesma, que serve como identificador. 
 
printf("%d", somarValores(10,20)); 
 
Essa expressão acima chama a função ‘somarValores()’ repare que para chamar uma 
função, nós temos que também utilizar os parênteses! Reparem também nos valores 
contidos dentro dos parênteses, onde cada um deles serão alocado nos parâmetros da 
função, ou seja, a e b. 
 
 
 
Recapitulando: Parâmetros são variáveis usadas dentro da função, argumentos são valores 
passados no momento em que requisitamos a função. 
 
Ainda existe muito a ser falo sobre funções, mas creio que com essa apostila já podemos 
começar a exercitar o hábito de programar utilizando função. O próximo passo será uma 
vídeo aula sobre este mesmo assunto.

Continue navegando