Funções em C
0
0

Funções em C

Os parâmetros são passados para uma função de acordo com a sua posição. Ou seja, o primeiro parâmetro da chamada (programa) define o valor do primeiro parâmetro na definição da função, o segundo parâmetro do programa define o valor do segundo...

Grey
3 min
0
0
  • Uma função pode ser vista como um conjunto de comandos que realiza uma tarefa específica. Em outras palavras, pode-se dizer que é um pequeno "programa" utilizado por outros programas.
  • A função é referenciada (chamada) pelo programa principal através de um nome atribuído a ela.
  • A utilização de funções, muito comum na programação estruturada, visa subdividir um programa em partes (módulos) menores que realizam uma tarefa bem definida.
  • Benefícios da utilização de funções: Permite o reaproveitamento de código já construído(por você ou por outros programadores);Evita que um mesmo trecho de código seja repetido várias vezes dentro de um mesmo programa e, com isso, qualquer alteração é feita apenas nesse trecho e de forma simples.Para que os blocos do programa não fiquem grandes demais e, por conseqüência, mais difíceis de entender;Facilita a leitura do programa de maneira que os blocos de código possam ser logicamente compreendidos de forma isolada.
  • Permite o reaproveitamento de código já construído(por você ou por outros programadores);
  • Evita que um mesmo trecho de código seja repetido várias vezes dentro de um mesmo programa e, com isso, qualquer alteração é feita apenas nesse trecho e de forma simples.
  • Para que os blocos do programa não fiquem grandes demais e, por conseqüência, mais difíceis de entender;
  • Facilita a leitura do programa de maneira que os blocos de código possam ser logicamente compreendidos de forma isolada.
Email image

Esqueleto de uma função

tipo_de_retorno nome_da_função (lista de parâmetros)
{
instruções;
retorno_da_função;
}

Parâmetros

  • A Lista de Parametros, também é chamada de Lista de Argumentos, é opcional. Funcionam como a interface de comunicação (passagem de valores/dados) entre o programa (chamador) e a função.
  • Os parâmetros de uma função são definidos como se estivesse declarando uma variável, entre os parênteses do cabeçalho da função. Caso precise declarar mais de um parâmetro, basta separá-los por vírgulas.
Email image
  • Existem 2 maneiras de passar valor através dos parâmetros: Por valor ou Por referência. Neese momento, será apresentado a passagem de parâmetro por valor. Quando introduzirmos o conceito de Ponteiro, apresentaremos o outro tipo.
  • No exemplo a seguir temos a função SOMA que possui dois parâmetros, sendo o primeiro um float (a) e o segundo um int (b).
float SOMA(float a, int b) // basta separar por vírgulas
{
float result; // a declaração de variáveis é igual ao que
// se faz na função main
result = a + b;
return result; // retorna para o programa o resultado da soma de a + b
}

Os parâmetros são passados para uma função de acordo com a sua posição. Ou seja, o primeiro parâmetro da chamada (programa) define o valor do primeiro parâmetro na definição da função, o segundo parâmetro do programa define o valor do segundo parâmetro da função e assim por diante. Os nomes dos parâmetros na chamada não tem relação com os nomes dos parâmetros na definição da função. No código a seguir, por exemplo, a função SOMA é chamada recebendo como parâmetros as variáveis "a" e "b", nesta ordem.


Passagem de Parâmetros por valor

  • A passagem de parâmetros que será apresentada aqui é chamada de passagem por valor.
  • Os valores contidos nas variáveis do programa, no momento da chamada da função, são copiados para as variáveis parâmetros da função.
  • As alterações dos valores dos parâmetros dentro da função não afetarão os valores das variáveis do programa, usadas na chamada da função.
  • Quando uma função não for retornar valor (procedimento), utilize void como tipo da função. Quando se usa void não podemos usar return na função.

No exemplo a seguir a variável f, declarada na main(), passada por parâmetro para a função Cem(), não terá o valor alterado dentro da função, pois o valor de f(20.7) será copiado para o parâmetro a da função.

#include <stdio.h>
void Cem(float a)
{
a = 100.0;
}
void main()
{
float f;
f = 20.7;
Cem(f);
printf("%f", f); // o valor impresso será 20.7 pois o parâmetro da função foi passado por valor.
}