Key Difference – Protótipo de Função vs Definição de Função em C
Uma função é um grupo de instruções usadas para realizar uma tarefa específica. Na programação C, a execução começa a partir de 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á funcionalidades diferentes. 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 uma declaração de função. Cada função tem um nome específico para identificá-la. 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 tem a funcionalidade real executada pela função. Na programação C, existe o protótipo da função e a definição da função. A principal diferença entre o protótipo da função e a definição da função é 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. A definição da função tem as variáveis locais e as instruções que determinam o que a função faz.
O que é Protótipo de Função em C?
Function Prototype fornece a declaração da 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 inteiro, o tipo de retorno é int. Quando uma função está retornando um valor float, o tipo de retorno é um float. Se a função não estiver retornando nenhum valor, é uma função void. O nome da função é usado para identificá-la. As palavras-chave C não podem ser usadas como nomes de funções. 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 da função tem 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 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 num3 não tem um tipo de dados. Portanto, é inválido.
Consulte o programa abaixo.
include
int CarMax(int x, int y);
int main(){
int p=10;
int q=20;
int resposta;
answer=calMax(p, q);
printf(“O valor máximo é %d\n”, resposta);
return 0;
}
int calMax(int p, int q){
int valor;
if(p>q) {
valor=p;
}
else {
valor=q;
}
valor de retorno;
}
De acordo com o acima, a segunda declaração mostra o protótipo da função. Não tem a implementação. A implementação real é após o 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 outro arquivo.
O que é Definição de Função em C?
A definição da função tem 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 de retorno, o tipo de retorno será void. Consulte a função abaixo para calcular a área de um triângulo.
include
float calArea(int x, int y);
int main() {
int p=10;
int q=20;
área plana;
area=calArea(p, q);
printf (“O valor máximo é %f\n”, area);
return 0;
}
float calArea (int x, int y) {
valor flutuante;
valor=0,5xy;
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 é escrita após o programa principal. É a definição da função. Os valores p e q 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, ele é retornado ao programa principal.
Quais são as semelhanças entre o protótipo da função e a definição da função em C?
- Tanto o protótipo de função quanto a definição de função estão relacionados a funções.
- Tanto o protótipo da função quanto a definição da função contêm o nome da função.
- Tanto o protótipo da função quanto a definição da função contêm tipos de retorno.
- Tanto o protótipo da função quanto a definição da função contêm parâmetros.
Qual é a diferença entre protótipo de função e definição de função em C?
Protótipo de Função 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 tem a implementação da função. |
Resumo – Protótipo de Função vs Definição de Função em C
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 a funções em C. Eles são protótipo de função 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.
Baixe o PDF de Protótipo de Função vs Definição de Função em C
Você pode baixar a 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