Klíčová slova jazyka C
Klíčová slova jsou slova, která mají zvláštní význam pro kompilátor jazyka C. Ve fázích překladu 7 a 8 identifikátor nemůže mít stejný pravopis a velká písmena jako klíčové slovo jazyka C. Další informace najdete ve fázích překladu v referenčních informacích preprocesoru. Další informace o identifikátorech najdete v tématu Identifikátory.
Standardní klíčová slova jazyka C
Jazyk C používá následující klíčová slova:
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
inline
1, a
int
long
register
restrict
1, a
return
short
signed
sizeof
static
struct
switch
typedef
typeof
typeof_unqual
union
unsigned
void
volatile
1 Klíčová slova zavedená v ISO C99.
2 Klíčová slova zavedená v ISO C11.
Počínaje sadou Visual Studio 2019 verze 16.8 jsou tato klíčová slova podporována v kódu zkompilovaném jako C, pokud jsou zadány možnosti kompilátoru /std:c11
/std:c17
.
b Počínaje sadou Visual Studio 2019 verze 16.8 jsou tato klíčová slova rozpoznána, ale nejsou podporována kompilátorem v kódu zkompilovaném jako C, pokud jsou zadány možnosti kompilátoru /std:c11
/std:c17
.
Klíčová slova nemůžete předefinovat. Můžete však zadat text, který má nahradit klíčová slova před kompilací pomocí direktiv preprocesoru jazyka C.
Klíčová slova jazyka C specifická pro Microsoft
Standardy ANSI a ISO C umožňují vyhrazení identifikátorů se dvěma úvodními podtržítky pro implementace kompilátoru. Konvence Microsoftu je před názvy klíčových slov specifických pro Společnost Microsoft dvojitým podtržítkem. Tato slova nelze použít jako názvy identifikátorů. Popis pravidel pro pojmenování identifikátorů, včetně použití dvojitých podtržítka, najdete v tématu Identifikátory.
Kompilátor jazyka C společnosti Microsoft rozlišuje následující klíčová slova a speciální identifikátory:
__asm
5
__based
3, 5
__cdecl
5
__declspec
5
__except
5
__fastcall
__finally
5
__inline
5
__int16
5
__int32
5
__int64
5
__int8
5
__leave
5
__restrict
__stdcall
5
__try
5
__typeof__
__typeof_unqual__
dllexport
4
dllimport
4
naked
4
static_assert
6
thread
4
3 Klíčové __based
slovo má omezené použití pro 32bitové a 64bitové cílové kompilace.
4 Jedná se o speciální identifikátory, které se používají __declspec
s ; jejich použití v jiných kontextech není neomezené.
5 Z důvodu kompatibility s předchozími verzemi jsou tato klíčová slova k dispozici jak se dvěma úvodními podtržítky, tak s jedním úvodním podtržítkem, pokud jsou povolená rozšíření Microsoftu.
6 Pokud nezadáte <assert.h>, kompilátor Jazyka Microsoft Visual C se mapuje static_assert
na klíčové slovo C11_Static_assert
.
Rozšíření Microsoftu jsou ve výchozím nastavení povolená. Chcete-li pomoct vytvořit přenosný kód, můžete zakázat rozšíření Společnosti Microsoft zadáním možnosti /Za (Zakázat jazyková rozšíření) během kompilace. Když použijete tuto možnost, některá klíčová slova specifická pro Microsoft jsou zakázaná.
Jsou-li rozšíření společnosti Microsoft povolena, lze klíčová slova specifická pro společnost Microsoft uvedená výše používat v programech. Aby byla shoda se standardem jazyka, většina těchto klíčových slov má úvodní dvojité podtržítko. Čtyři výjimky, , dllexport
, dllimport
naked
a thread
, se používají pouze s __declspec
a nevyžadují úvodní dvojité podtržítko. Z důvodu zpětné kompatibility jsou podporovány verze ostatních klíčových slov s jedním podtržítkem.