< Langage C++
fin de la boite de navigation du chapitre

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.

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.


Exemple
int main(int argc, char* argv[]) 
{
	return 0;
}
Fin de l'exemple

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

Exemple
int main(int argc, char* argv[])
Fin de l'exemple


La syntaxe :

Définition
Syntaxe:
<type> <identificateur>([<paramètre>[, <paramètre>][, ...]])
{
	...
}


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 :

Exemple
int argc
char* argv[]
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

Exemple
char*
Fin de l'exemple

puis

Exemple
argv[]
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 :

Exemple
argv[]
Fin de l'exemple

puis

Exemple
char*
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

Exemple
char* argv[]
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

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 « ; »


Exemple
int i;
int j = 0;
char* c = NULL;
cout << "hello" << endl;
Fin de l'exemple


Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.