Présentation de la règle

La règle Clockwise/Spiral est une technique qui permet à tout programmeur C de parser dans sa tête n’importe quelle déclaration C. Elle se base sur trois étapes simples à suivre pour décomposer les déclarations complexes.

Fonctionnement de la règle

Pour appliquer la règle, il faut se poser la question « Qu’est-ce que X ? » pour chaque déclaration, où X est le nom de la variable ou du pointeur. Ensuite, on suit la règle pour décomposer la déclaration en parties plus simples. Par exemple, pour la déclaration

char *str[10];
, on décompose comme suit : « str est un tableau de 10 pointeurs vers char ».

Un autre exemple est la déclaration

char *(*fp)( int, float *);
, qui se décompose en « fp est un pointeur vers une fonction prenant un int et un pointeur vers float et renvoyant un pointeur vers char ».

Exemples et applications

La règle s’applique également aux qualificateurs tels que const et volatile. Par exemple, pour la déclaration

const char *chptr;
, on a « chptr est un pointeur vers un char constant ». Et pour
char * const chptr;
, on a « chptr est un pointeur constant vers char ».

Enfin, pour

volatile char * const chptr;
, on a « chptr est un pointeur constant vers un char volatile ».

Conclusion et pratique

La règle Clockwise/Spiral est un outil puissant pour les programmeurs C qui veulent améliorer leur compréhension des déclarations complexes. En pratiquant cette règle avec des exemples, comme ceux trouvés dans K&R II, les programmeurs peuvent développer leur capacité à parser et à comprendre les déclarations C les plus complexes.