1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Pequena dúvida C

Discussão em 'Programação' iniciada por souto, 30 de Abril de 2008. (Respostas: 10; Visualizações: 603)

  1. souto

    souto To fold or to FOLD?

    Vivam,

    Estava aqui a analisar um código em C, quando me deparei com algo do género:

    Código:
    int bla(void) {
      call_1();
      call_2();
    
    [COLOR="DarkOrange"]  {
         int a;
         int b;
         if ()...
      }[/COLOR]
    
    }
    
    A minha dúvida é porque está aquele código (a laranja) dentro de chavetas. Para que servem as chavetas?

    Obrigado.
     
    Última edição: 30 de Abril de 2008
  2. [knap]

    [knap] Power Member

    Nesse caso as chavetas não estão a fazer nada, nem deviam estar aí.

    Não sei se assim funciona, talvez funcione mas não estão a fazer nada as chavetas.
     
  3. kadeR

    kadeR I quit My Job for Folding

    as chavetas é um begin e um end...
    e nao tao ai a fazer nada, supostamente para defenir variaveis nao preciasas de abrir e fechar...
     
  4. FASC

    FASC Power Member

    Creio que é para definir variáveis locais apenas dentro dessas chavetas. Faz o teste: define uma variável dentro das chavetas, e tenta acede-la depois das chavetas.
     
  5. DbC

    DbC Banido

    Variáveis locais fazem-se no inicio da função e não entre chavetas :P
     
  6. oscarolim

    oscarolim Power Member

    Penso que ele quis dizer locais àquela porção de código e não locais à função em sim.
     
  7. FASC

    FASC Power Member

    Código de teste:
    Código:
    #include <stdio.h>
    
    void main ()
    {
        int i = 1;
        int j = 1;
    
        printf("i = %d\nj = %d\n\n",i,j);
    
        {
            int j = 2;
            printf("i = %d\nj = %d\n\n",i,j);
        }
    
        printf("i = %d\nj = %d\n",i,j);
    }



    Output:

    Código:
    i = 1
    j = 1
    
    i = 1
    j = 2
    
    i = 1
    j = 1
    Fiz o teste, e é exactamente o que eu disse... :kfold:
     
  8. souto

    souto To fold or to FOLD?

    Boa. É isso mesmo. Estes caramelos que escrevem código do kernel inventam com cada uma, até assusta.

    Cumprimentos e obrigado! :)
     
  9. DbC

    DbC Banido

    Variáveis locais à porção de código?
    Entre as chavetas?

    Ou são da função (daí locais) ou globais. Se estiverem entre chavetas naquela porção de código, o código a seguir às chavetas continua a ter acesso às mesmas variáveis.
     
  10. sapropel

    sapropel Power Member

    em C variaveis não-globais so podem ser declaradas no inicio de um scope, não de uma função obrigatoriamente.
    é para isso que as chavetas servem.
     
  11. fulgas

    fulgas Power Member

    A isso chama-se scope.

    Essas variáveis só estavam visivéis dentro dessas chavetas.

    sup
     

Partilhar esta Página