Funções e procedimentos: diferença
Antes de mais nada, é bom dizer que se você já programou qualquer coisa utilizando C, mesmo que ainda não compreenda o conceito de função, você provavelmente já as utilizou.
Alguns exemplos de função em C, são: printf, scanf, getchar, putchar, etc. No caso, essas que eu citei são predefinidas, ou seja, já está lá no seu computador desde que você instalou algum compilador.
É interessante saber que em linguagem C não existem os chamados procedimentos propriamente dito, como por exemplo, na linguagem Pascal. Em Pascal você inicia uma função com a palavra FUNCTION e inicia um procedimento com a palavra PROCEDURE. Como em C não existem procedimentos, usa-se apenas a palavra FUNCTION.
O que alguns professores de universidades usam para diferenciar funções e procedimentos na linguagem C, é apenas o fato de: se tem retorno é uma função, se não tem, é um procedimento. Então tudo está baseado em ter ou não um retorno.
Veja abaixo os exemplos de função e procedimento:
FUNÇÃO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <stdio.h> // Isto é uma função int dobro(int valor) { // TEM RETORNO return 2 * valor; } int main() { int total, entrada; printf("Digite um valor:\n"); scanf("%d",&entrada); total = dobro(entrada); printf("O dobro de %d é %d\n",entrada,total); } |
PROCEDIMENTO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <stdio.h> // Isto é um procedimento int dobro(int valor) { int total; total = 2 * valor; printf("O dobro de %d é %d\n",valor,total); // NÃO TEM RETORNO } int main() { int entrada; printf("Digite um valor:\n"); scanf("%d",&entrada); dobro(entrada); } |
Espero que essa dica lhe ajude.
Para dúvidas, deixe seu comentário.
Entendi, bem esclarecido.