Zusammenfassung der Deklarationen
declaration
:
declaration-specifiers
attribute-seq
opt1init-declarator-list
opt;
static_assert-declaration
declaration-specifiers
:
storage-class-specifier
declaration-specifiers
opt
type-specifier
declaration-specifiers
opt
type-qualifier
declaration-specifiers
opt
function-specifier
declaration-specifiers
opt
alignment-specifier
declaration-specifiers
opt
attribute-seq
1:
attribute
1attribute-seq
opt1
attribute
1, 2: eine der folgenden Optionen
__asm
__based
__cdecl
__clrcall
__fastcall
__inline
__stdcall
__thiscall
__vectorcall
init-declarator-list
:
init-declarator
init-declarator-list
,
init-declarator
init-declarator
:
declarator
declarator
=
initializer
storage-class-specifier
:
auto
extern
register
static
_Thread_local
typedef
__declspec
(
extended-decl-modifier-seq
)
1
extended-decl-modifier-seq
1:
extended-decl-modifier
opt
extended-decl-modifier-seq
extended-decl-modifier
extended-decl-modifier
1:
thread
naked
dllimport
dllexport
type-specifier
:
void
char
short
int
__int8
1
__int16
1
__int32
1
__int64
1
long
float
double
signed
unsigned
_Bool
_Complex
atomic-type-specifier
struct-or-union-specifier
enum-specifier
typedef-name
struct-or-union-specifier
:
struct-or-union
identifier
opt{
struct-declaration-list
}
struct-or-union
identifier
struct-or-union
:
struct
union
struct-declaration-list
:
struct-declaration
struct-declaration-list
struct-declaration
struct-declaration
:
specifier-qualifier-list
struct-declarator-list
opt;
static_assert-declaration
specifier-qualifier-list
:
type-specifier
specifier-qualifier-list
opt
type-qualifier
specifier-qualifier-list
opt
alignment-specifier
specifier-qualifier-list
opt
struct-declarator-list
:
struct-declarator
struct-declarator-list
,
struct-declarator
struct-declarator
:
declarator
declarator
opt:
constant-expression
enum-specifier
:
enum
identifier
opt{
enumerator-list
}
enum
identifier
opt{
enumerator-list
,
}
enum
identifier
enumerator-list
:
enumerator
enumerator-list
,
enumerator
enumerator
:
enumeration-constant
enumeration-constant
=
constant-expression
atomic-type-specifier
:
_Atomic
(
type-name
)
type-qualifier
:
const
restrict
volatile
_Atomic
function-specifier
:
inline
_Noreturn
alignment-specifier
:
_Alignas
(
type-name
)
_Alignas
(
constant-expression
)
declarator
:
pointer
optdirect-declarator
direct-declarator
:
identifier
(
declarator
)
direct-declarator
[
type-qualifier-list
optassignment-expression
opt]
direct-declarator
[
static
type-qualifier-list
optassignment-expression
]
direct-declarator
[
type-qualifier-list
static
assignment-expression
]
direct-declarator
[
type-qualifier-list
opt*
]
direct-declarator
(
parameter-type-list
)
direct-declarator
(
identifier-list
opt)
3
pointer
:
*
type-qualifier-list
opt
*
type-qualifier-list
optpointer
type-qualifier-list
:
type-qualifier
type-qualifier-list
type-qualifier
parameter-type-list
:
parameter-list
parameter-list
,
...
parameter-list
:
parameter-declaration
parameter-list
,
parameter-declaration
parameter-declaration
:
declaration-specifiers
declarator
declaration-specifiers
abstract-declarator
opt
identifier-list
: /* Für Deklarator im veralteten Format */
identifier
identifier-list
,
identifier
type-name
:
specifier-qualifier-list
abstract-declarator
opt
abstract-declarator
:
pointer
pointer
optdirect-abstract-declarator
direct-abstract-declarator
:
(
abstract-declarator
)
direct-abstract-declarator
[
type-qualifier-list
optassignment-expression
opt]
direct-abstract-declarator
[
static
type-qualifier-list
optassignment-expression
]
direct-abstract-declarator
[
type-qualifier-list
static
assignment-expression
]
direct-abstract-declarator
[
type-qualifier-list
opt*
]
direct-abstract-declarator
opt(
parameter-type-list
opt)
typedef-name
:
identifier
initializer
:
assignment-expression
{
initializer-list
}
{
initializer-list
, }
initializer-list
:
designation
optinitializer
initializer-list
,
designation
optinitializer
designation
:
designator-list
=
designator-list
:
designator
designator-list
designator
designator
:
[
constant-expression
]
.
identifier
static_assert-declaration
:
_Static_assert
(
constant-expression
,
string-literal
)
;
1 Dieses Grammatikelement ist Microsoft-spezifisch.
2 Weitere Informationen zu diesen Elementen finden Sie unter __asm
, __clrcall
, __stdcall
, __based
, __fastcall
, __thiscall
, __cdecl
, __inline
und __vectorcall
.
3 Dieser Stil ist veraltet.
Weitere Informationen
Aufrufkonventionen
Phrasenstrukturgrammatik
Veraltete Aufrufkonventionen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für