Arduino Playground is read-only starting December 31st, 2018. For more info please look at this Forum Post

{} Chaves

Chaves são elementos principais da linguagem de programação C. Elas são usadas em diversas construções diferentes, como as destacadas abaixo, e algumas vezes podem ser confusas para os iniciantes.

Uma chave aberta "{" sempre deve ser seguida de uma chave fechada "}". Esta é uma condição que é comumente mencionada para que as chaves sejam balanceadas. A IDE (Integrated Development Environment) do Arduino inclui um recurso conveniente para verificar o balanço das chaves. Selecione uma chave ou clique no ponto de inserção imediatamente após uma delas e sua companheira lógica será destacada.

No momento, este recurso está com alguns probleminhas porque a IDE sempre irá encontrar (incorretamente) uma chave no texto, mesmo que tenha sido "comentada".

Programadores iniciantes e programadores que chegam à linguagem C vindos do BASIC, geralmente se sentem confusos ou intimidados pelas chaves. Isto porque, a mesma chave substitui a declaração RETURN em uma subrotina (função), a declaração ENDIF em uma condicional e o comando NEXT em um loop FOR.

Por conta do uso das chaves ser tão variado, uma boa prática de programação é digitar a chave de fechamento imediatamente após digitar a chave de abertura ao inserir uma construção que requer o uso de chaves e então, inserir alguns retornos-de-carro (ENTER) entre suas chaves e iniciar a inserção de comandos ou declarações. Deste modo, suas chaves e sua atitude nunca serão problemáticas.

Chaves não-balanceadas podem levar a erros críticos e inpenetráveis ao compilador, que podem ser difíceis de se rastrear em um grande programa. Por causa de seus vários usos, as chaves são também incrivelmente importantes para a sintaxe de um programa, e mover uma chave, uma ou duas linhas, geralmente afetará dramaticamente o significado de um programa

Os principais usos das chaves

Funções

  void minhafuncao(tipo_de_dado argumento){
    comando(s)
  }

Loops

  while (expressão booleana)
  {
     comando(s)
  }

  do
  {
     comando(s)
  } while (expressão booleana);

  for (inicialização; condição de término; expressão de incremento/decremento)
  {
     comando(s)
  } 

Declarações condicionais

  if (expressão booleana)
  {
     comando(s)
  }

  else if (expressão booleana)
  {
     comando(s)
  } 
  else
  {
     comando(s)
  }

Voltar para a Referência