Em C, uma função é uma unidade de código de programa autônoma desenhada para cumprir uma tarefa particular.
Provavelmente a principal razão da existência de funções é impedir que o programador tenha de escrever o mesmo código repetidas vezes.
Sintaxe:
tipo nome_função(parâmetros com tipos)
{
instruções;}
Tipo de uma Função:
O tipo de uma função é determinado pelo tipo de valor que ela retorna e não pelo tipo de seus argumentos.
Os tipos possíveis de retorno de uma função são todos os tipos que o C suporta.
Para que um valor seja retornado pela função deve-se utilizar o comando return(valor), onde valor é o dado que se deseja retornar.
Quando uma função não retorna um valor deve-se declarar a palavra reservada void no lugar do tipo.
Quando uma função não retorna um valor deve-se declarar a palavra reservada void no lugar do tipo.
Parâmetros de uma Função
Em C, a maioria dos argumentos de funções são passados “por valor”.
Isto significa que à função chamada é dada uma cópia dos valores dos argumentos, e ela cria outras variáveis temporárias para armazenar estes valores.
Para todos os parâmetros da função é necessário definir seu tipo de dado.
Protótipos de Função
Protótipo de função significa declarar ao compilador o formato das funções que serão criadas por você programador.
Isto é feito, normalmente após a definição do cabeçalho do programa (includes).
Apenas a primeira linha da função deve ser declarada e adicionalmente deve ser colocado o símbolo de ponto e vírgula (;).
Exemplo 1
void linha(); // protótipo da função
void main()
{
linha();
printf("\xDB PROGRAMA EM C \xDB\n");
linha();
getch();
}
void linha() // função propriamente dita
{
int j;
for(j=1;j<=17;j++)
{
printf("\xDB");
}
printf("\n");
}
Exemplo 2
float potencia(float b, float e);
void main()
{
float base, expoente;
printf("Entre com a base e o expoente: \n");
scanf("%f %f",&base,&expoente);
printf("Resultado = %f",potencia(base,expoente));
getch();
}
float potencia(float b, float e)
{
int resultado = 1;
while(e > 0)
{
resultado = resultado * b;
e--;
}
return(resultado);
}
0 comentários:
Postar um comentário