# Langage C++/Syntaxe C++
## Syntaxe C++

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

### Sens de Lecture

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.
* 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.
Dans ce morceau de code nous voyons donc sur la première ligne :
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 :
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
puis
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 :
puis
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
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

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 « ; »
| Opérateurs | Constantes et Variables |