Next: Sémantique des déclarations
Up: Les déclarations
Previous: Fonction à nombre variable
Sous-sections
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
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
].
Next: Sémantique des déclarations
Up: Les déclarations
Previous: Fonction à nombre variable
Bernard Cassagne
1998-12-09