Diferença chave - 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 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 possui um nome específico para identificá-la. As instruções da 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, há protótipo de função e definição de 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 contém as variáveis locais e as instruções que determinam o que a função faz.
CONTEÚDO
1. Visão geral e diferença-chave
2. O que é 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 vs definição de função em C em forma tabular
6. Resumo
O que é protótipo de função em C?
O protótipo da função fornece a declaração da função. Ele especifica o nome da função, os tipos de retorno, os parâmetros. Os tipos de retorno são os tipos de dados que retornam da função. Quando uma função retorna um número 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 retornar nenhum valor, é uma função nula. O nome da função é usado para identificá-lo. 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 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.
#incluir
int CarMax (int x, int y);
int main () {
int p = 10;
int q = 20;
resposta interna;
resposta = calMax (p, q);
printf (“O valor máximo é% d / n”, resposta);
return 0;
}
int calMax (int p, int q) {
valor int;
if (p> q) {
valor = p;
}
outro {
valor = q;
}
valor de retorno;
}
De acordo com o exposto, a segunda instrução mostra o protótipo da função. Não tem implementação. A implementação real ocorre 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 para a 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 é nulo. Consulte a função abaixo para calcular a área de um triângulo.
#incluir
float calArea (int x, int y);
int main () {
int p = 10;
int q = 20;
área de flaot;
área = CalArea (p, q);
printf (“O valor máximo é% f / n”, área);
return 0;
}
float 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 é 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 retorna ao programa principal.
Quais são as semelhanças entre o protótipo de função e a definição de função em C?
- Tanto o protótipo quanto a definição da função estão relacionados às funções.
- O protótipo e a definição da função contêm o nome da função.
- O protótipo e a definição da função contêm tipos de retorno.
- O protótipo e 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?
Artigo Diff meio antes da tabela
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; os 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 contém 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 capacidade de 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 associados a 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.
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 off-line de acordo com a 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