C est une forme libre de la langue. Cela signifie que vous pourriez format dans de nombreuses façons et il sera toujours un programme juridique.
Par exemple, un énoncé comme
a = b * c;
peut être écrite comme
a=b*c;
ou comme
a
=
b
*
c
;
Ainsi, lorsque le compilateur voir les lignes
temp = *a
*a = *b;
il pense que cela veut dire
temp = *a * a = *b;
Cela n'est évidemment pas une expression valide et le compilateur va se plaindre de ce que, au lieu de le point-virgule manquant. La raison pour laquelle il n'est pas valable, c'est parce qu' a
est un pointeur sur une structure, de sorte *a * a
est d'essayer de multiplier une structure instance (*a
) avec un pointeur vers une structure (a
).
Alors que le compilateur ne peut pas détecter le point-virgule manquant, il indique également les totalement sans rapport avec l'erreur sur la mauvaise ligne. Il est important de noter parce que peu importe combien vous regardez la ligne où l'erreur est signalée, il n'y a pas d'erreur là. Parfois, des problèmes de ce genre ont besoin de vous pour regarder les précédentes lignes pour voir si ils sont d'accord et sans erreurs.
Parfois, vous avez même de regarder dans un autre fichier pour trouver l'erreur. Par exemple, si un fichier d'en-tête est la définition d'une structure de la dernière dans le fichier d'en-tête, et le point-virgule de résiliation de la structure est manquant, alors l'erreur ne sera pas dans le fichier d'en-tête, mais dans le fichier qui contient le fichier d'en-tête.
Et parfois c'est même pire: si vous incluez les deux (ou plus) fichiers d'en-tête, et le premier contient une déclaration incomplète, probablement l'erreur de syntaxe sera indiqué dans le deuxième fichier d'en-tête.
Lié à cela est le concept de suivi des erreurs. Certaines erreurs, en général, à cause du manque de points-virgules en fait, sont comptabilisés comme des multiples erreurs. C'est pourquoi il est important de commencer par le haut lors de la correction d'erreurs, comme la fixation de la première erreur peut faire plusieurs erreurs disparaissent.
Bien sûr, cela peut conduire à la fixation d'une erreur à un moment et fréquente recompile qui peut être lourd avec de grands projets. La reconnaissance de ces erreurs est quelque chose qui vient avec l'expérience, et après avoir vu quelques fois il est plus facile de creuser le réel les erreurs et les corriger plus d'une erreur par le recompiler.