![]()
Syntaxe des déclarations ![]()
![]()
![]()
![]()
![]()
Suivant: Sémantique des déclarations Début: Les déclarations Précédent: Fonction à nombre variable
Paragraphes
Syntaxe des déclarations
La grammaire des déclarations est la suivante :
déclaration :
spécificateurs-de-déclaration liste-de-déclarateurs-initoption ;
spécificateurs-de-déclaration :
spécificateur-de-classe-mémoire spécificateurs-de-déclarationoption
spécificateur-de-type spécificateurs-de-déclarationoption
qualificatif-de-type spécificateurs-de-déclarationoption
liste-de-déclarateurs-init :
déclarateur-init
liste-de-déclarateurs-init , déclarateur-init
déclarateur-init :
déclarateur
déclarateur = initialisateur
spécificateur-de-classe-mémoire :
auto
extern
static
register
typedef
spécificateur-de-type :
void
char
short
int
long
float
double
signed
unsigned
spécificateur-de-struct-ou-union
spécificateur-d-énumération
nom-de-typedef
spécificateur-de-struct-ou-union :
struct-ou-union identificateuroption
{
liste-de-déclarations-de-struct}
struct-ou-union identificateur
struct-ou-union :
struct
union
liste-de-déclarations-de-struct :
déclaration-de-struct
liste-de-déclarations-de-struct déclaration-de-struct
déclaration-de-struct :
liste-de-spécificateurs-et-qualificatifs liste-de-déclarateurs-de-struct ;
liste-de-spécificateurs-et-qualificatifs :
spécificateur-de-type liste-de-spécificateurs-et-qualificatifsoption
qualificatif-de-type liste-de-spécificateurs-et-qualificatifsoption
liste-de-déclarateurs-de-struct :
déclarateur-de-struct
liste-de-déclarateurs-de-struct , déclarateur-de-struct
déclarateur-de-struct :
déclarateur
déclarateuroption : expression-constante
spécificateur-d-énumération :
enum identificateuroption
{
liste-d-énumérateurs}
enum identificateur
liste-d-énumérateurs :
énumérateur
liste-d-énumérateurs , énumérateur
énumérateur :
identificateur
identificateur = expression constante
qualificatif-de-type :
const
volatile
déclarateur :
pointeuroption déclarateur-direct
déclarateur-direct :
identificateur
( déclarateur )
déclarateur-direct [ expression-constanteoption ]
déclarateur-direct ( liste-de-types-de-paramètres )
déclarateur-direct ( liste-d-identificateursoption )
pointeur :
* liste-de-qualificatifs-de-typesoption
* liste-de-qualificatifs-de-typesoption pointeur
liste-de-qualificatifs-de-types :
qualificatif-de-type
liste-de-qualificatifs-de-types qualificatif-de-type
liste-de-types-de-paramètres :
liste-de-paramètres
liste-de-paramètres , ...
liste-de-paramètres :
déclaration-de-paramètre
liste-de-paramètres , déclaration-de-paramètre
déclaration-de-paramètre :
spécificateurs-de-déclaration déclarateur
spécificateurs-de-déclaration déclarateur-abstraitoption
liste-d'identificateurs :
identificateur
liste-d'identificateurs , identificateur
initialisateur :
expression-d'affectation
![]()
{
liste-d-initialisateurs}
![]()
{
liste-d-initialisateurs ,}
liste-d'initialisateurs :
initialisateur
liste-d'initialisateurs , initialisateur
Exemples
Dans la déclaration :int i,j = 2;int est un spécificateur-de-type et i,j = 2 est une liste-de-déclarateur-init composée de deux déclarateur-init : i et j = 2. i est un déclarateur-init sans la partie initialisateur, donc réduit à un déclarateur lui-même réduit à un identificateur. j = 2 est un déclarateur-init comportant un initialisateur (= 2) et un déclarateur réduit à un identificateur (j). Dans la déclaration :int t[10];t[10] est un déclarateur formé d'un déclarateur (t), suivi de [ suivi de l'expression constante 10, suivi de ].
30/9/1997