Funções, parâmetros e retorno de valores em C
De Wiki Cursos IFPR Foz
Funções, parâmetros e retorno de valores
Uma função é um bloco de código que pode ser usado diversas vezes em um programa [1].
Os parâmetros são as entradas que uma função pode receber. Através dos parâmetros podemos passar argumentos para a função.
- Comentários:
- Normalmente utiliza-se parâmetros quando se faz referência às variáveis declaradas na definição da função e argumentos aos valores atribuídos a esses parâmetros na chamada da função.
- Uma particularidade do C é que os argumentos são passados por valor, isto é, os valores dos argumentos sendo passados são copiados nos parâmetros da função chamada no momento em que a função for chamada. Isto é diferente de linguagens como o PASCAL em que os argumentos são passados por referência, na qual a função chamada tem acesso ao argumento original, e não uma cópia local.
Também é possível que uma função retorne um valor, o qual poderá ser utilizado por outras partes do programa. Caso se deseje que a função não retorne nada inclui-se a palavra void antes do nome da função.
Na declaração de funções o tipo de dados tanto dos parâmetros como do retorno da função devem ser declarados.
- Exemplo
- Função potência, a qual recebe dois inteiros como argumentos (base e n) e retorna a base elevada a potência n.
#include <stdio.h>
int Potencia (int base, int n); /*Protótipo da função*/
void main () /*Programa principal para teste*/
{
int a=2, b=3;
int p;
p = Potencia (a, b); /*Função chamada com argumentos*/
printf ("Resultado: %d elevado a %d = %d\n", a, b, p);
}
int Potencia (int base, int n) /*Definição da função e seus parâmetros*/
{
int p;
for (p = 1; n > 0; --n)
p = p * base;
return p;
}
- Note que o parâmetro n é usado temporariamente dentro da função (decrementado até 0), sem afetar o argumento original com o qual a função foi chamada.
- Argumentos por referência em C
- Para modificar uma variável global em uma função, a chamada da função deve passar como argumento o endereço da variável, ou seja, um ponteiro para a variável. Para tal, a função deve declarar o parâmetro como do tipo ponteiro e acessar a variável indiretamente através dele.
Função printf
A função printf usa códigos de controle para indicar o tipo de dados e a posição em que os argumentos serão apresentados.
Código | Tipo |
%d | Inteiro |
%f | Float |
%c | Caractere |
%s | String |
%% | Imprime % |
Referências
- ↑ TENENBAUM, Aaron M.; LANGSAM, Yedidyah; AUGENSTEIN, Moshe. Estruturas de dados usando C. Makron Books, 1995.
--Evandro.cantu (discussão) 10h30min de 12 de junho de 2014 (BRT)