Banière du site

[koala01.free.fr]->Tutoriaux->Le langage C ->Notions de base

Image d'imprimante   image d'enveloppe

4.1 Introduction

Cette page n'a pour but que de vous permettre de savoir un minimum ce dont on parle.

Certains termes ne sont donc expliqués que de manière très succinte, juste suffisemment pour vous permettre d'en comprendre le sens général, mais seront expliqués en profondeur dans les pages qui suivent.

fleche haut

4.2 Convention pour la suite

Très souvent, les EDI que vous utiliserez proposeront une coloration syntaxique, et je vais tout naturellement suivre leur exemple.

Cela représente en effet l'énorme avantage de pouvoir déterminer rapidement

Dans les codes que je vous soumettrai, les conventions de coloration syntaxique suivvantes seront d'application:

fleche haut

4.3 Les commentaires

Ainsi que je l'ai signalé dans la rubrique principes de programmation, les commentaires sont d'une importance capitale pour la compréhension du code.

En effet, qu'il s'agisse de reprendre un code dont vous n'êtes pas l'auteur d'origine ou, tout simplement, de reprendre un code après l'avoir "laissé reposer" un temps indéterminé sur le côté, il permettront bien souvent de se remémorer le but recherché par une portion de code.

En C, les commentaires commencent par /* et terminent par */, et peuvent aussi bien s'étaller sur une seule ligne que sur plusieurs.

Il peuvent aussi se trouver en fin de linge, mais j'ai tendance à estimer que cet usage devrait être limité aux déclarations, de manière à préciser l'utilité d'une variable

Exemples de commentaires

Sur une seule ligne

/*Ceci est un commentaire sur une seule ligne*/

Sur plusieurs lignes

/*Ceci est un commentaire se poursuivant sur plusieurs lignes
cela peut s'avérer particulièrement utile pour explique en détail
le but recherché ou le fonctionnement d'une fonction complexe*/

En fin de linge

int nombre/*le décompte de la structeur*/

n'hésitez pas à mettre de nombreux commentaires dans vos sources (certaines personne prétendent qu'un code source devrait contenir au moins un tier de commentaires).

Cela vous facilitera énormément la tâche par la suite, d'autant que leur présence n'influe en rien dans la taille finale de l'application (ils sont en effet supprimés de l'exécutable fournis).

Nota: La plupart des compilateur C actuels, vu qu'ils sont (d'abord et avant tout) des compilateur C++ acceptent les commentaires sous la forme C++, à savoir qui commencent par //.

Cependant, il peut parraître plus judicieux, dans une optique de rétrocompatibilité, entre autre, de préférer les commentaires purement C.

Les commentaires ne peuvent pas être imbriqués l'un dans l'autres et provoqueront généralement une erreur à la compilation

un code du genre de

/* début d'un commentaire sur plusieurs lignes
/*et ici un commentaire imbriqué*/
avec la fin du premier commentaire*/

ne sera normalement pas admis par le compîlateur.

fleche haut

4.4 La notion de préprocesseur

Le préprocesseur est un programme qui analyse un fichier texte et qui lui fait subir certaines transformations. Ces transformations peuvent être l'inclusion d'un fichier, la suppression d'une zone de texte ou le remplacement d'une zone de texte.

Il s'agit donc, en quelques sortes, d'un outil, appelé en tout premier lieux par le compilateur, qui permet la création de macros dont chaque apparition de l'identifiant sera remplacée par sa valeur avant que ne commence la compilation.

fleche haut

4.5 La notion de mot clé

Les mots clés (ou mots réservés) sont des termes qui ont une signification particulière en fonction du langage utilisé.

En dehors de toute expression litérale, leur utilisation n'est autorisée que dans le contexte qui leur est propre.

fleche haut

4.6 main(): Fonction obligatoire

main() est la fonction principale de tout programme en C (et en C++, d'ailleurs)

C'est la seule fonction qui doit systématiquement apparaître une fois (et une seule) dans tout projet.

En effet, un projet peut être composé de plusieurs (dizaines, centaines, voire milliers de) fichiers différents.

Il est indispensable de trouver une fonction principale pour que l'application sache "par où commencer", mais la présence de plusieurs fonctions principales entrainera irrémédiablement une ambiguité.

fleche haut

4.7 Le ; pour fin d'instruction

Chaque instruction doit être suivie, pour que le compilateur se rende compte qu'elle est finie, par un point-virgule ";".

fleche haut

4.8 Les blocs d'instructions entre accolades

Dés le moment où plus d'une instructions doivent être effectués (dans le cadre d'une routine, d'un test ou d'une boucle) le bloc d'instructions doit etre mis entre accolades "{" au début et "}" à la fin.

Il n'est, normalement pas nécessaire de recourrir aux accolades lorsqu'il n'y a qu'une seule instruction à effectuer dans le cadre d'un test ou d'une boucle.

A titre purement personnel, j'estimes cependant que leur utilisation, associée à une indentation correcte du code, permet de s'y retrouver bien plus facilement, surtout si le code devient très long et complexe.

La présence ou l'absence d'indentation et d'accolades, quand, du moins, elles ne sont pas obligatoires, n'a aucune incidence sur la taille finale de l'application, mais en aura énormément pour la persone qui devrait reprendre votre travail…

Encore une fois, pensez à l'avenir…

image d'imprimante   image de mail   fleche haut

Evaluation donnée par les visiteurs
Cette page a été évaluée 1 fois et a obtenu une moyenne de mal expliqué
Mon appréciation sur la compréhensibilitéde cette page est:
  • incompréhensible
  • mal expliquée
  • compréhensible, sans plus
  • bien expliquée
  • très bien expliquée

fleche haut

[koala01.free.fr]->Tutoriaux->Le langage C ->Notions de base

Copyright (©) 2005 (Philippe Dunski)

Ce cours est libre, vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU publiée par la Free Software Foundation (version 2 ou bien toute autre version ultérieure choisie par vous).

Ce cours est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE, ni explicite ni implicite, y compris les garanties de commercialisation ou d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU pour plus de détails.

Cependant, l'auteur apprécierait grandement que vous lui fassiez part de toute modification apportée à son contnu

Vous pouvez le contacter par mail à l'adresse koala01@free.fr

Vous pouvez trouver une adaptation française de la licence GNU/GPL à l'URL http://www.linux-france.org/article/these/gpl.html