Uma função é um grupo de instruções usadas para executar uma tarefa específica. Na programação C, a execução começa em main (). É uma função. Em vez de escrever todas as instruções no mesmo programa, ele pode ser dividido em várias funções. Cada função executará diferentes funcionalidades. O protótipo da função informa ao compilador sobre o nome da função, tipos de retorno e parâmetros. Também é conhecido como declaração de função. Cada função tem um nome específico para identificá-lo. As instruções de função são escritas dentro de um par de chaves. As funções podem retornar um valor. Existem algumas funções que não retornam um valor. Os dados são passados para a função usando a lista de parâmetros. A definição da função possui a funcionalidade real realizada pela função. Na programação C, há protótipo de função e definição de função. o diferença chave entre o protótipo da função e a definição da função é que o O protótipo da função contém apenas a declaração da função, enquanto a definição da função contém a implementação real da função. A definição da função possui as variáveis locais e as instruções que determinam o que a função faz.
1. Visão geral e principais diferenças
2. O que é o Protótipo de Função em C
3. O que é definição de função em C
4. Semelhanças entre protótipo de função e definição de função em C
5. Comparação lado a lado - protótipo de função versus definição de função em C na forma de tabela
6. Resumo
O Protótipo de Função fornece a declaração de função. Especifica o nome da função, os tipos de retorno, os parâmetros. Os tipos de retorno são o tipo de dados que retorna da função. Quando uma função está retornando um número inteiro, o tipo de retorno é int. Quando uma função está retornando um valor flutuante, o tipo de retorno é flutuante. Se a função não retornar nenhum valor, é uma função nula. O nome da função é usado para identificá-lo. As palavras-chave C não podem ser usadas como nomes de função. Os dados são passados para a função usando parâmetros. O protótipo da função não contém a implementação real da função. O protótipo de função possui a seguinte sintaxe.
(lista de parâmetros);
Se houver uma função para calcular o máximo de dois números, a declaração pode ser escrita como int max (int num1, int num2); O valor máximo deve ser encontrado em num1 e num2. Esses são números inteiros e são passados para a função O tipo de retorno, no início, também é int. Portanto, a função retorna um valor inteiro. Não é necessário escrever os nomes dos parâmetros no protótipo da função. Mas é necessário escrever os tipos de dados. Portanto, int max (int, int); também é um protótipo de função válido. Se houver dois números inteiros como num1, num2, num3 e o protótipo for escrito como int max (int num1, int num2, num3); é inválido. O num1, num2 tem os tipos de dados, mas o num3 não possui um tipo de dados. Portanto, é inválido.
Consulte o programa abaixo.
#incluir
int CarMax (int x, int y);
int main ()
int p = 10;
int q = 20;
int resposta;
resposta = calMax (p, q);
printf ("O valor máximo é% d \ n", resposta);
retornar 0;
int calMax (int p, int q)
valor int;
se (p> q)
valor = p;
outro
valor = q;
valor de retorno;
De acordo com o exposto acima, a segunda instrução mostra o protótipo da função. Não possui a implementação. A implementação real é posterior ao programa principal. Os protótipos de função são mais úteis ao definir uma função em um arquivo de origem e chamar essa função em outra em outro arquivo.
A definição da função possui a implementação real da função. Ele contém o que a função deve fazer. Quando o programa chama a função, o controle é transferido para a função chamada. Após a execução da função, o controle retorna à função principal. Os dados necessários são passados para a função como uma lista de parâmetros. Se houver um valor retornando, o tipo de retorno será mencionado. Se não houver valores retornados, o tipo de retorno será nulo. Consulte a função abaixo para calcular a área de um triângulo.
#incluir
floArea calArea (int x, int y);
int main ()
int p = 10;
int q = 20;
área de flutuação;
area = calArea (p, q);
printf ("O valor máximo é% f \ n", área);
retornar 0;
floArea calArea (int x, int y)
valor flutuante;
valor = 0,5 * x * y;
valor de retorno;
De acordo com o programa acima, a segunda instrução indica o protótipo da função. A implementação real do que a função executa é gravada após o programa principal. É a definição da função. Os valores peq são passados para a função calArea. O valor da variável é uma variável local para a função calArea. A área é calculada e atribuída ao valor da variável. Em seguida, é retornado ao programa principal.
Função Protótipo vs Definição de Função em C | |
O protótipo da função especifica o nome da função, tipo de retorno, parâmetros, mas omite o corpo da função. | A definição da função especifica o nome da função, tipo de retorno; parâmetros incluem um corpo de função. |
Implementação | |
O protótipo da função não possui a implementação da função. | A definição da função possui a implementação da função. |
O uso de funções em programas tem vantagens. As funções aumentam a reutilização do código. Não é necessário escrever o mesmo código repetidamente. Em vez disso, o programador pode dividir o programa e chamar a função necessária. Em C existem funções de biblioteca. Essas funções são declaradas nos arquivos de cabeçalho C. Alguns deles são printf (), scanf () etc. O programador também pode escrever suas próprias funções. Existem dois termos que estão associados às funções em C. Eles funcionam como protótipo e definição de função. A diferença entre o protótipo da função e a definição da função em C é que o protótipo da função contém apenas a declaração da função, enquanto a definição da função contém a implementação real da função.
Você pode fazer o download da versão em PDF deste artigo e usá-la para fins offline, conforme nota de citação. Faça o download da versão em PDF aqui: Diferença entre protótipo de função e definição de função em C
1.C Definições das funções. Disponivel aqui
2.tutorialspoint.com. "Funções C". O ponto. Disponivel aqui
1. 'The C Programming Language logo'By Rezonansowy (Domínio Público) via Commons Wikimedia