Un des plus simples et souvent difficile de trouver des erreurs dans la programmation , c'est une erreur de syntaxe . Comme le code pousse dans la complexité et la taille , les petites erreurs de syntaxe peuvent surgir et causer des maux de tête. Dans un langage de programmation laconique et simple comme C + + , la syntaxe joue un rôle important dans la façon dont fonctionne le langage . Certaines erreurs de syntaxe communs dans C + + provenir de symboles oubliés ou égarés (tels que des points-virgules , parenthèses et les crochets ), en utilisant des instructions conditionnelles incorrectes dans des structures en boucle, Affectation des types de données incorrectes à des variables , et abusant de pointeurs et les références. Détournement de symboles de base
C + + utilise un ensemble de symboles pour représenter certaines conditions. Le point-virgule (;), par exemple , représente la fin d'une ligne de code. Une ligne de code doit se terminer par un point-virgule , ou il y aura une erreur. En outre, des blocs de code qui font partie du " if" des boucles doivent résider à l'intérieur des accolades . Cet exemple montre comment ces erreurs peuvent arriver dans le code suivant:
while (1) Photos
( //blocs de code doit apparaître dans les accolades , pas parenthèse
int i = 1;
if ( i% 2 == 0) {
impression i //pas de virgule pour montrer fin de l'instruction
} < br >
i + +; }
des instructions conditionnelles dans des boucles
Looping structures en C + + nécessitent des instructions conditionnelles qui retournent des valeurs Vrai ou faux qui déterminent si oui ou non la boucle continuera ou non. Toutefois, la condition de la boucle doit effectivement produire une valeur de vérité , soit par une valeur numérique ou à travers une comparaison des valeurs . par ailleurs, différentes boucles exigent des informations différentes. l'exemple suivant affiche deux erreurs commises à l'aide une boucle "while" et une boucle "for" :
int i = 0;
while (1) //1 égale vrai en C + + , cette boucle se déroulera à l'infini
{
pour ( i; i <= 5; i - ) //cette boucle ne sera jamais arrêter parce que je ne serai jamais plus de 5
{
< p> /* faire des choses * /
} }
Discordance entre le type des variables et des données de type
C + + est un langage fortement typé , ce qui signifie que les programmeurs doivent déclarer le type d' une variable en déclarant la variable . une variable de type "integer" doit contenir un entier, et en lui attribuant tout autre type créera une erreur . Dans cet exemple, certaines variables d' différents types sont des types de données qui ne correspondent pas affectés :
int i = 2.5 //affectation d'une virgule flottante à une
entier omble h = "Bonjour" //assigner une chaîne à un caractère Variable:
int j = "HI" //affectation d'une chaîne en entier variables
Pointeurs et références
pointeurs sont les types de données qui se réfèrent à une adresse en mémoire plutôt que de tenir des données . pour cette raison , les pointeurs essentiellement "point à " un bloc de mémoire , plutôt que de détenir directement ces données. Par « déréférencement » le pointeur ( en utilisant le symbole "*") , le programmeur peut accéder . les données dans la mémoire Toutefois, la différence entre un pointeur et la valeur qu'il pointe vers peuvent causer de la confusion , comme dans l'exemple suivant:
int i = 3 ;
int * j = &I; //j pointe maintenant à l'adresse de i
j = i //j pointe maintenant à l'adresse de mémoire 3, il ne contient pas la valeur 3
* j = i //l'ENTREPRISE la mémoire référencée par j contient la valeur 3