Diferença entre protótipo de função e definição de função em C

Diferença de chave - protótipo de função versus definição de função em C
 

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.

CONTEÚDO

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 que é Protótipo de Função em C?

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.

O que é definição de função em C?

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.

Quais são as semelhanças entre protótipo de função e definição de função em C?

  • O protótipo de função e a definição de função estão relacionados a funções.
  • O protótipo da função e a definição da função contêm o nome da função.
  • O protótipo de função e a definição de função contêm tipos de retorno.
  • O protótipo da função 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?

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.

Sumário - Função Protótipo 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 à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.

Faça o download do PDF do protótipo de função versus definição de função em C

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

Referência:

1.C Definições das funções. Disponivel aqui 
2.tutorialspoint.com. "Funções C". O ponto. Disponivel aqui 

Cortesia da imagem:

1. 'The C Programming Language logo'By Rezonansowy (Domínio Público) via Commons Wikimedia