Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]

{} Accolades


Description

Les accolades sont un élément majeur de la programmation en langage C. Elles sont utilisées dans plusieurs constructions différentes, décrites ci-dessous, et cela peut parfois entraîner la confusion chez les débutants.

Toute ouverture d'une accolade d'ouverture "{" doit obligatoirement être accompagnée dans le code d'une accolade de fermeture "}" correspondante. On dit souvent qu'il faut que les accolades soient équilibrées (càd autant de"{" que de "}"). L'EDI ( Environnement de Développement Intégré = l'éditeur de programmes) Arduino inclut une fonctionnalité pratique pour vérifier la correspondance des accolades entre elles. Il suffit de sélectionner une accolade, ou même de cliquer juste après l'accolade, et son compagnon logique sera mis en surbrillance. Actuellement cette fonctionnalité bogue légèrement à savoir que l'IDE prend souvent en compte de façon incorrecte les accolades incluses dans les commentaires.

Les programmeurs débutants, et les programmeurs passant du BASIC au langage C trouvent souvent que l'utilisation des accolades porte à la confusion ou est intimidant. Après tout, les mêmes accolades remplace aussi bien l'instruction RETURN dans une routine (ou fonction), que l'instruction ENDIF dans un test de condition ou encore l'instruction NEXT dans une boucle FOR.

En raison de l'utilisation variée des accolades, c'est bonne habitude à prendre que de fermer systématiquement l'accolade avec "}" immédiatement après l'avoir ouverte avec "{" quand on insère une structure qui requiert des accolades. Insérer ensuite quelques retours à la ligne entre les deux accolades et commencer à y insérer vos instructions. Ainsi, vos accolades (et votre attitude...) ne seront jamais déséquilibrées.

Des accolades déséquilibrées (càd non symétriques, chaque "{" n'étant pas accompagnée de son pendant "}") peuvent donner lieu à des messages d'erreur de compilation énigmatiques et incompréhensibles, difficile à résoudre dans de long programme. A cause de leur utilisation très variées, les accolades sont incroyablement importante dans la syntaxe d'un programme et déplacer une accolade d'une ou deux lignes peuvent souvent perturber profondément la signification d'un programme.

Les principales utilisation des accolades

Fonctions


void myfunction(datatype argument){ // ouverture de la fonction
    // vos instructions ici
  } // fermeture de la fonction

Boucles



while (boolean expression)
  { // accolade d'ouverture du code de la boucle while - noter que le saut à la ligne n'a pas de valeur ici
     // vos instructions ici
  } // fermeture de la boucle

  do
  { // accolade d'ouverture du code de la boucle do
     // vos instructions
  } while (boolean expression); // fermeture de la boucle

  for (initialisation; termination condition; incrementing expr)
  { // ouverture du code de la boucle for
    //instructions
  } // fermeture de la boucle
 

Conditions



  if (boolean expression)
  { // ouverture du code de la condition if
     // vos instructions
  } // fermeture du code de la condition if

  else if (boolean expression)
  { // ouverture du code de l'instruction else if
     // vos instructions
  } // fermeture du code de l'instruction else if

  else
  { // ouverture du code de l'instruction else
     // vos instructions
  } // fermeture du code de l'instruction else
 

Commentaires utilisateurs

Aucun commentaire


Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.