Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A függvénydefiníció tárosztály-megadója a függvényt extern vagy static a tárolási osztályt adja meg.
Szemantika
function-definition:
declaration-specifiers
választattribute-seqválasztdeclaratordeclaration-listválasztcompound-statement
/*
attribute-seq Microsoft-specifikus */
declaration-specifiers:
storage-class-specifier
declaration-specifiers
választ
type-specifier
declaration-specifiers
választ
type-qualifier
declaration-specifiers
választ
storage-class-specifier: /* Függvénydefiníciókhoz */
extern
static
Ha egy függvénydefiníció nem tartalmaz ilyent storage-class-specifier, a tárolási osztály alapértelmezés szerint a következő lesz extern. A függvényeket explicit módon deklarálhatja, externde nem kötelező.
Ha egy függvény deklarációja tartalmazza a függvényt storage-class-specifierextern, az azonosító kapcsolata megegyezik az azonosító látható deklarációjával a fájlhatókörrel. Ha nincs látható deklaráció fájlhatókörrel, az azonosító külső kapcsolattal rendelkezik. Ha egy azonosító fájlhatókörrel rendelkezik, és nem storage-class-specifier, az azonosító külső kapcsolatokkal rendelkezik. A külső összekapcsolás azt jelenti, hogy az azonosító minden példánya ugyanazt az objektumot vagy függvényt jelöli. A csatolással és a fájlhatókörrel kapcsolatos további információkért lásd: Élettartam, Hatókör, Láthatóság és Hivatkozás.
A blokkhatókör-függvény deklarációi a hibák generálásán kívül extern más tárolóosztály-megadóval.
A tárolási osztályt tartalmazó static függvények csak abban a forrásfájlban láthatók, amelyben definiálva van. Minden más függvény, függetlenül attól, hogy explicit vagy implicit tárolási osztályt kapnak extern , a program összes forrásfájljában látható. Ha static tárolási osztályra van szükség, azt a függvény deklarációjának első előfordulásakor (ha van ilyen) és a függvény definícióján kell deklarálni.
Microsoft-specifikus
Ha a Microsoft-bővítmények engedélyezve vannak, egy eredetileg tárolási osztály (vagy extern tárolási osztály) nélkül deklarált függvény tárolási osztályt kap static , ha a függvénydefiníció ugyanabban a forrásfájlban található, és ha a definíció kifejezetten a tárolási osztályt static határozza meg.
A /Ze fordítóval történő fordításkor a kulcsszót használó extern blokkon belül deklarált függvények globális láthatósággal rendelkeznek, ami nem igaz a /Za használatával való összeállításkor. Ez a funkció nem használható, ha a forráskód hordozhatósága megfontolandó.
END Microsoft-specifikus kifejezés