Você está na página 1de 2

Utilizando-se funes (subrotinas) consegue-se dividir grandes tarefas de computao em

tarefas
menores. Tambm possvel que programadores trabalhem em cima de funes j desenvolvidas,
ao invs de
partir do nada. interessante comentar que em C e C++ todas as funes possuem valore
s de retorno, apesar
de que estes valores podem ser "nada" (void).
A declarao de uma funo fornece as informaes necessrias para chamar a funo: ela forne
nome da funo; mostra o nmero e tipo de valores que devem ser passados para a funo com
o argumentos; e
descreve o valor (se existe) que a funo retorna. Uma declarao de funo tambm chamada
prottipo de
funo [3].
Sendo assim, um prottipo de funo, resumidamente, uma maneira de dizer ao compilador
que a
funo existe e como ela deveria ser chamada. Com o prottipo de funo sempre se usa um m
odelo quando se
estiver declarando e definindo uma funo. Quando a funo chamada, o compilador usa o m
odelo para
assegurar que os argumentos apropriados so passados e que o valor de retorno trat
ado corretamente. Se o
programador errar quando chamar a funo, o erro detectado em tempo de compilao [1].
Alguns exemplos de prottipos de funes so [8]:
char* strcpy(chat* to, const char* from);
void exit(int);
double sqrt(double);
A definio de uma funo fornece a mesma informao que a sua declarao, mas tambm fornece
comandos que so executados quando a funo chamada. Uma funo pode ser declarada muitas
vezes (em
arquivos fonte e header diferentes, por exemplo), mas ela pode ser definida apen
as uma vez. Declaraes para a
mesma funo devem concordar umas com as outras e com a definio. Tambm importante salie
ntar que a
definio ou declarao deve proceder o primeiro uso da funo no arquivo fonte [3].
As definies de funes, basicamente, tm a forma:
<tipo_retorno> <nome_funo> (<lista_declaraes_argumentos>) { <corpo_funo> }
onde, <tipo_retorno> e <lista_declaraes_argumentos> podem ser void, e <corpo_funo>,
normalmente,
uma instruo composta. Um exemplo simples de uma definio de funo completa [2]:
int max (int, int, int); // declarao
int max (int a, int b, int c) { // definio
int m = (a > b) ? a : b; // "?" um operador lgico, ":" equivalente a "seno"
return (m > c) ? m : c;
}
Uma funo chamada escrevendo-se o seu nome seguido por parnteses que "cercam" quaisq
uer
valores que devem ser passados para a funo. Os parnteses devem ser preservados mesm
o que "sejam
vazios", pois eles servem como operadores responsveis pela chamada da funo. Um coma
ndo que chama
uma funo deve ser seguido de ponto e vrgula [3].
Quando uma funo chamada, o armazenamento determinado a partir dos seus argumentos
formais
e cada argumento formal inicializado pelo argumento atual correspondente. A semnt
ica da passagem de
argumentos idntica semntica de inicializao. Em particular, o tipo de um argumento at
ual verificado de
acordo com o tipo do argumento formal correspondente, e todas converses de tipo p
adro e definida pelo
usurio so realizadas [8]. Logo abaixo exemplificada a chamada da funo definida no ex

emplo anterior:
int m = max (10, 14, 11);
Professora Isabel Harb Manssour
Linguagem de Programao C++ 19
Um valor deve ser retornado de uma funo que no

Você também pode gostar