commit ce9a2f4a4a059985c3c00f56841606bc7523a0b5
parent 3cf41419400b820bd659f372820373cf1c4bd5c6
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 13 Jul 2026 14:09:07 +0200
Ajoute la section sur les constantes
Diffstat:
| M | doc/fr/star-c.7 | | | 77 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- |
1 file changed, 73 insertions(+), 4 deletions(-)
diff --git a/doc/fr/star-c.7 b/doc/fr/star-c.7
@@ -15,7 +15,7 @@
.\" Vous devez avoir reçu une copie de la GNU General Public License en
.\" même temps que Star-Style ; si ce n'est pas le cas, consultez
.\" <http://www.gnu.org/licenses>.
-.Dd July 11, 2026
+.Dd July 13, 2026
.Dt STAR-C 7
.Os
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -1056,8 +1056,8 @@ peut ainsi être utilisée pour la recherche d'une fonction dans les
différents fichiers sources.
.Pp
Pour une déclaration, revenir à la ligne avant d'ouvrir la parenthèse de
-la fonction, précédée d'une identation par rapport au nom de la fonction
-sur la ligne qui précède.
+la fonction, précédée d'une indentation par rapport au nom de la
+fonction sur la ligne qui précède.
Puis lister les arguments de la fonction, en revenant à la ligne après
chacun d'eux et en les alignant les uns par rapport aux autres.
Ajouter la parenthèse fermante
@@ -1124,7 +1124,76 @@ madd(const double a, const double b, const double c)
.Ed
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LES VARIABLES
-.Sh LES CONSTANTES SYMBOLIQUES
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.Sh LES CONSTANTES
+Utiliser une énumération si les constantes à définir sont liées
+sémantiquement, et une macro sinon :
+.Bd -literal -offset Ds
+#define ID_INVALIDE ((unsigned)-1)
+
+enum { X, Y, Z };
+
+enum attribut {
+ POSITION,
+ NORMALE,
+ TEXCOORD
+};
+.Ed
+Pour une énumération qui utilise des valeurs par défaut,
+ajouter si besoin une dernière constante qui définit le nombre de
+constantes valides ;
+sa valeur sera ainsi automatiquement mise à jour à chaque changement de
+l'énumération.
+Une telle constante peut s'avérer utilie au titre de cardinalité d'un tableau,
+de valeur du dernier indice marquant la fin d'une itération,
+ou encore comme valeur vis à vis de laquelle la validité d'une variable
+du type énumérée peut être vérifiée.
+.Bd -literal -offset Ds
+enum molecule {
+ H2O,
+ CO2,
+ O3,
+ N2O,
+ CO,
+ CH4,
+
+ NOMBRE_DE_MOLECULES
+};
+
+/* Vérifier qu'une constante définie une molecule valide */
+#define MOLECULE_EST_VALIDE(Mol) ((unsigned)(Mol) < NOMBRE_DE_MOLECULES)
+
+static const char* NOM_DES_MOLECULES[NOMBRE_DE_MOLECULES] = {
+ "H2O", "CO2", "O3", "N2O", "CO", CH4
+};
+.Ed
+.Pp
+Définir les valeurs par défaut d'une structure à l'aide d'une variable
+constante du type concerné, déclarée en tant que variable statique.
+Et une macro qui liste ses valeurs par défaut, utilisé pour initialiser
+ladite variable :
+.Bd -literal -offset Ds
+struct foo {
+ int bar;
+ float baz;
+};
+#define FOO_DEFAULT__ {-1,0}
+static const struct foo FOO_DEFAULT = FOO_DEFAULT__;
+.Ed
+.Pp
+N'utiliser la macro que lorsqu'il est impossible d'utiliser la variable
+constante, en l'occurence, pour initialiser à la définition d'une autre
+structure une variable membre de ce type.
+.Bd -literal -offset Ds
+struct qux {
+ struct foo foo;
+ double
+ int quux;
+};
+#define QUX_DEFAULT__ {FOO_DEFAULT__, 0}
+static const struct qux QUX_DEFAULT = QUX_DEFAULT__;
+.Ed
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LES STRUCTURES
.Sh LES MACROS
.Sh LES ALLOCATIONS DYNAMIQUES