Diferença entre declaração e definição em C

o diferença chave entre declaração e definição em C é que A declaração em C informa ao compilador sobre o nome da função, tipo de retorno e parâmetros, enquanto a definição em C contém a implementação real da função. Ou seja, a declaração fornece informações sobre a função ao compilador, enquanto que a definição contém as instruções reais da função para executar uma tarefa específica.

C é uma linguagem de programação estruturada de propósito geral. Ele usa estruturas de controle como if / else, repetições como for loop, while loop e funções. Uma função é um conjunto de instruções que ajuda a executar uma determinada tarefa repetidamente. Além disso, é possível chamar as funções a partir da função principal. Depois de executar a última instrução da função, o controle volta para a função principal. Este artigo discute a declaração e a definição de funções em C e compara a diferença entre elas. A definição da função especifica o que a função faz e a declaração especifica o que vai para a função; é um protótipo.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é Declaração em C
3. O que é definição em C
4. Comparação lado a lado - Declaração vs Definição em C em forma de tabela
5. Resumo

O que é Declaração em C?

Declaração fornece informações sobre a função para o compilador. A sintaxe da declaração é a seguinte.

return_ type nome_da_função (lista de parâmetros);

Assuma uma função que calcula a soma de dois números inteiros. A declaração é a seguinte.

int sum (int num1, int num2);

O nome da função é soma e os parâmetros são dois números inteiros que são num1 e num2. Esta função retorna um número inteiro. A declaração completa termina com um ponto-e-vírgula.

Não é necessário incluir os nomes dos parâmetros na declaração. Portanto, também é possível mencionar apenas o tipo de dados da seguinte maneira. A seguir está uma declaração válida.

int sum (int, int);

O que é definição em C?

Definição contém as instruções reais da função para executar uma tarefa específica. A sintaxe é a seguinte.

return_type nome_da_função (lista de parâmetros)

// instruções de função

O nome da função ajuda a identificar a função. Ao invocar uma função, os valores passam para essa função. Esses valores copiam para os parâmetros. A lista de parâmetros pode conter um parâmetro ou número de parâmetros. E esses parâmetros têm um tipo de dados e um nome. Além disso, também pode haver funções sem nenhum parâmetro.

As instruções da função estão dentro das chaves. É o corpo da função. Depois de executar a função, ele retornará um valor. O tipo de retorno depende do valor de retorno. Se a função retornar um número inteiro, o tipo de retorno será int. Se a função retornar um duplo, o tipo de retorno será duplo, etc..

Consulte o código abaixo com declaração e definição de uma função.

Figura 01: Programa para calcular a soma de dois números

De acordo com o programa acima, a linha 3 exibe a declaração. Ele informa o compilador sobre o nome da função, parâmetros etc. Na função principal, dois valores são obtidos do teclado e eles são armazenados na variável 'a' e 'b'. Na linha 12, esses valores são passados ​​para a função chamada soma. Este 'a' e 'b' são argumentos.

Na linha 16, a função soma é executada. Ele copia o valor a para num1 e o valor b para num2. Esta função retorna a soma e esse valor é armazenado na variável 'ans' (linha 12). Finalmente, a resposta é impressa na tela. Em resumo, a linha 3 mostra a declaração, enquanto as linhas 16 a 18 exibem a definição.

Qual é a diferença entre declaração e definição em C?

A declaração é um protótipo que especifica o nome da função e a assinatura do tipo, como tipos de dados, tipos e parâmetros de retorno, mas omite o corpo da função. A definição especifica o nome da função e as assinaturas de tipo, como tipos de dados, tipos e parâmetros de retorno, e inclui o corpo da função. Declaração informa ao compilador sobre o nome da função e como chamá-lo. Por outro lado, a definição contém a implementação real da função. Descreve a tarefa da função.

Resumo - Declaração vs Definição em C

A diferença entre declaração e definição em C é que a declaração em C informa ao compilador sobre o nome da função, tipo de retorno e parâmetros, enquanto a definição em C contém a implementação real da função.

Referência:

Ponto 1.Tutoriais. "Funções C". Tutorials Point, 19 de março de 2018. Disponível aqui  
2. "Protótipo de Função". Wikipedia, Fundação Wikimedia, 28 de maio de 2018. Disponível aqui