Results 1 to 1 of 1
  1. #1
    Vitrix Maggot
    Vitrix Maggot is offline
    Member-in-training Vitrix Maggot's Avatar
    Join Date
    2013 Apr
    Location
    Brasil
    Posts
    58
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    43
    Thanked in
    24 Posts
    Rep Power
    0

    Basic Functions on C + +

    Funções na Linguagem C

    Funções são estruturas que permitem ao programador separar o seu código em blocos. Se elas não existissem, muito provavelmente teríamos que escrever programas curtos e de pequena complexidade. Para fazermos programas grandes e complexos temos que construi-los bloco a bloco (é o recomendado, pela facilidade em dar manutenção futuramente). Uma função em C tem a seguinte forma geral:

    Functions in C Language

    Functions are structures that allow the programmer to separate your code into blocks. If they did not exist, most likely we would have to write short programs and low complexity. For large and complex programs do we have to build them block by block (is recommended to maintain the facility in the future). A function in C has the following form:


    tipo_de_retorno nome_da_função (parametros_da_função)
    {
    corpo_da_função
    }
    O tipo de retorno é o tipo de variável que a função irá retornar (se houver retorno). Por padrão é o tipo int, ou seja, se criarmos uma função e não especificarmos o tipo de retorno, esta será considerada como retornando um valor inteiro (experimente chamar a função main sem o uso do int). A declaração de parâmetros é uma lista com a seguinte forma geral:

    tipo_de_variável nome1, tipo_de_variável nome2...
    Repare que o tipo da variável deve ser especificado para cada uma das "N" variáveis de entrada, isto é, se você for passar 3 parâmetros cada um deve acompanhar o seu tipo. É na declaração de parâmetros que informamos o compilador quais serão as entradas da função.

    O corpo da função é onde as entradas são processadas, saídas são geradas ou outras funcionalidades executadas.

    Return (retorno de funções)

    O comando return tem sua forma geral:

    return valor_de_retorno;
    ou simplismente:

    return;
    Imagine que uma função está em execução. Ao chegar a uma declaração return a função é encerrada imediatamente (independente do que existir após o return, se existir), o valor de retorno é informado e a função o retorna ao ponto onde foi chamada.

    #include <stdio.h>


    int quadrado (int numero)
    {
    return numero * numero;
    }


    main (void)
    {
    int numero;
    printf ("Entre com um numero inteiro: ");
    scanf("%d", &numero);


    numero = quadrado (numero); // o valor irá retornar p/ a mesma váriavel.
    printf ("O seu valor quadrado vale: %i.\n", numero);
    }
    É importante salientar que o valor de retorno fornecido tem que ser, pelo menos, compatível com o tipo de retorno declarado na função.
    Uma função pode ter mais de uma declaração return. Por exemplo:

    #include <stdio.h>


    /* verifica se o número passado como argumento é par */
    int par (int num)
    {
    if ((num % 2) == 0) // SE, o resto da divisão "NUMERO/2" for 0
    return 0; // Retorna 0, o número é par

    else
    return 1; // Senão, retorna 1. O número não é par
    }


    main(void)
    {
    int numero;
    printf ("Entre com um numero inteiro: ");
    scanf("%d", &numero);

    if ((par (numero)) == 0)
    printf("O numero e par!\n");
    else
    printf ("O numero e impar!\n");
    }
    Note que, como as funções podem retornar valores podemos aproveitar isto para fazer atribuições. Exemplo:

    int soma (int a, int b)
    {
    return a + b;
    }


    main(void)
    {
    int numero;
    numero = soma (3,2); /* CERTO! O RETORNO 5 (int) SERÁ ATRIBUIDO À VARIAVEL "numero" que também é do tipo inteiro */

    soma(2,3) = numero; / *ERRADO! */
    Então, quando devo criar uma função? Sempre que perceber que um determinado trecho do seu código repete diversas vezes. Se for considerar também que, criar um programa usando funções consome menos memória do que repetir o mesmo código diversas vezes. Considere também a facilidade em dar manutenção (atualizar, modificar, etc) em um código que utilizou funções, onde no caso a implementação será feita somente dentro da função sem afetar aos demais blocos do programa.

    Continuarei com o assunto posteriormente, aguarde
    I admire most other programmers not paid any dick!!

    Admiro outros Programadores mais nao pago pau pra nenhum !!


    Skype: Vitor Monteiro

  2. The Following User Says Thank You to Vitrix Maggot For This Useful Post:


Similar Threads

  1. [Delphi] Dll Injection functions
    By Dwar in forum Delphi
    Replies: 3
    Last Post: 2016-06-17, 11:18 PM
  2. [VB] Basic hack and trainer with CE and Visual Basic
    By Dwar in forum Programming Tutorials
    Replies: 2
    Last Post: 2013-05-01, 03:57 AM
  3. Finding names of functions through disassembler
    By explosionsinthe in forum General Programming
    Replies: 0
    Last Post: 2011-04-20, 01:02 PM
  4. [C++] Memory-writing functions
    By Dwar in forum C/C++
    Replies: 0
    Last Post: 2010-11-29, 04:14 PM
  5. [C++] Writing your own detour functions
    By Dwar in forum Programming Tutorials
    Replies: 0
    Last Post: 2010-11-20, 04:48 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •