C Funções definidas pelo usuário

Neste tutorial, você aprenderá a criar funções definidas pelo usuário em programação C com a ajuda de um exemplo.

Uma função é um bloco de código que executa uma tarefa específica.

C permite definir funções de acordo com sua necessidade. Essas funções são conhecidas como funções definidas pelo usuário. Por exemplo:

Suponha que você precise criar um círculo e colorir de acordo com o raio e a cor. Você pode criar duas funções para resolver este problema:

  • createCircle() função
  • color() função

Exemplo: função definida pelo usuário

Aqui está um exemplo para adicionar dois inteiros. Para realizar esta tarefa, criamos um definido pelo usuário addNumbers().

 #include int addNumbers(int a, int b); // function prototype int main() ( int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; ) int addNumbers(int a, int b) // function definition ( int result; result = a+b; return result; // return statement ) 

Protótipo de função

Um protótipo de função é simplesmente a declaração de uma função que especifica o nome da função, parâmetros e tipo de retorno. Não contém corpo de função.

Um protótipo de função fornece informações ao compilador de que a função pode ser usada posteriormente no programa.

Sintaxe do protótipo de função

 returnType functionName (type1 argument1, type2 argument2,…);

No exemplo acima, int addNumbers(int a, int b);é o protótipo da função que fornece as seguintes informações ao compilador:

  1. nome da função é addNumbers()
  2. tipo de retorno da função é int
  3. dois argumentos do tipo intsão passados ​​para a função

O protótipo da função não é necessário se a função definida pelo usuário for definida antes da main()função.

Chamando uma função

O controle do programa é transferido para a função definida pelo usuário ao chamá-la.

Sintaxe de chamada de função

 functionName (argumento1, argumento2,…);

No exemplo acima, a chamada da função é feita usando uma addNumbers(n1, n2);instrução dentro da main()função.

Definição de função

A definição de função contém o bloco de código para realizar uma tarefa específica. Em nosso exemplo, somar dois números e retorná-los.

Sintaxe de definição de função

 returnType functionName (type1 argument1, type2 argument2,…) (// corpo da função) 

Quando uma função é chamada, o controle do programa é transferido para a definição da função. E, o compilador começa a executar os códigos dentro do corpo de uma função.

Passando argumentos para uma função

Na programação, o argumento se refere à variável passada para a função. No exemplo acima, duas variáveis ​​n1 e n2 são passadas durante a chamada da função.

Os parâmetros aeb aceitam os argumentos passados ​​na definição da função. Esses argumentos são chamados de parâmetros formais da função.

O tipo de argumento passado para uma função e os parâmetros formais devem corresponder, caso contrário, o compilador irá gerar um erro.

Se n1 for do tipo char, a também deve ser do tipo char. Se n2 for do tipo float, a variável b também deve ser do tipo float.

Uma função também pode ser chamada sem passar um argumento.

Declaração de Devolução

A instrução de retorno termina a execução de uma função e retorna um valor para a função de chamada. O controle do programa é transferido para a função de chamada após a instrução return.

No exemplo acima, o valor da variável de resultado é retornado para a função principal. A variável de soma na main()função recebe este valor.

Sintaxe da declaração de retorno

 return (expressão); 

Por exemplo,

return a; retorno (a + b);

O tipo de valor retornado da função e o tipo de retorno especificado no protótipo da função e na definição da função devem corresponder.

Visite esta página para saber mais sobre como passar argumentos e retornar o valor de uma função.

Artigos interessantes...