Leçons de niveau 14

Langage C++/Syntaxe C++

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche
Début de la boite de navigation du chapitre
Syntaxe C++
Icône de la faculté
Chapitre no 5
Leçon : Langage C++
Chap. préc. :Opérateurs
Chap. suiv. :Constantes et Variables
fin de la boite de navigation du chapitre
Icon falscher Titel.svg
En raison de limitations techniques, la typographie souhaitable du titre, « Langage C++ : Syntaxe C++
Langage C++/Syntaxe C++
 », n'a pu être restituée correctement ci-dessus.

Syntaxe C++[modifier | modifier le wikicode]

Avant de passer à la suite il est temps de voir comment on structure les instructions en C++.

Sens de Lecture[modifier | modifier le wikicode]

En C++ les instructions se lisent de droite à gauche, (non ce n'est ni de l'arabe, ni de l'hébreu, ni du japonais). Cela est dû au fait que les langages de programmation sont issus de l'anglais. Les opérateurs transfèrent le plus souvent les valeurs situées à leur droite vers les valeurs situées à leur gauche et beaucoup d'opérateurs spécifient l'état des identificateurs situés à leur gauche.

Voici un exemple concret que vous verrez rapidement. Nous allons parler de la méthode principale de tout programme C++ aussi appelé « point d'entrée » du programme, il s'agit de la méthode « main » et plus particulièrement de ses paramètres.

Panneau d’avertissement Attention : Pour ceux qui connaissent des langages comme le Pascal et qui s'attendraient à ce que je parle de fonction, en C++ il n'existe pas de distinctions clairement établie entre procédure et fonction comme en Pascal. Une méthode est un compromis entre la fonction et la procédure. La seule chose qui différencie la fonction de la procédure en C++ est le type de retour qui est 'void' pour une procédure et différent de 'void' pour les fonctions. On ne peut donc pas faire de différence entre une procédure et une fonction en C++. On regroupe donc les deux formes sous l'appellation de méthodes.


Début de l'exemple
Fin de l'exemple


Dans ce morceau de code nous voyons donc sur la première ligne :

Début de l'exemple
Fin de l'exemple


La syntaxe :


signifie que nous avons affaire à une méthode.

Dans les parenthèses nous trouvons, séparés par une virgule, les paramètres (aussi appelés arguments) suivants :

Début de l'exemple
Fin de l'exemple


Nous pouvons facilement comprendre le premier qui est un entier comptant les paramètres.
Le second est plus délicat car c’est un piège qui fait chuter plus d'un débutant.

Un débutant qui a des notions de syntaxe lira

Début de l'exemple
Fin de l'exemple

puis

Début de l'exemple
Fin de l'exemple


et en déduira qu’il s'agit d'un pointeur (*), appelé argv, de tableau de char. En gros, une (seule) chaîne de caractères ce qui est totalement faux.
Ne vous alarmez pas si vous ne comprenez pas le concept de tableau il sera expliqué en temps et en heure. Essayez de simplement comprendre le sens de lecture.

En fait il faut le lire dans l'autre sens :

Début de l'exemple
Fin de l'exemple


puis

Début de l'exemple
Fin de l'exemple


déclare un tableau, appelé argv, contenant des pointeurs (*) de char. Ce qui correspond à plusieurs pointeurs sur des caractères regroupés dans un tableau. Vous pourriez me dire que cela revient au même puisque l’on a un tableau de pointeurs sur des caractères. C’est vrai que l’on peut le voir sous cet angle, cependant un pointeur de caractère peut avoir 2 significations :

  • un pointeur sur un et un seul caractère,
  • un pointeur sur un caractère qui correspond au premier caractère d'une chaine de caractères à zéro terminal.

Il faut donc interpréter

Début de l'exemple
Fin de l'exemple


comme un tableau de pointeurs sur des chaînes de caractères, soit un tableau contenant plusieurs chaînes de caractères. Cela vous paraîtra plus logique lorsque nous étudierons en détail le paramétrage d’applications en ligne de commande.

Une instruction se termine par un point-virgule[modifier | modifier le wikicode]

En C++ la grande majorité des instructions (hormis les définitions, les inclusions, les méthodes, les structures et certaines directives) se terminent par un point-virgule « ; »


Début de l'exemple
Fin de l'exemple