Sdílet prostřednictvím


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
inline1, a
int
long
register
restrict1, a
return

short
signed
sizeof
static
struct
switch
typedef
typeof
typeof_unqual
union
unsigned
void
volatile

while
_Alignas2, a
_Alignof2, a
_Atomic2, b
_Bool1, a
_Complex1, b
_Generic2, a
_Imaginary1, b
_Noreturn2, a
_Static_assert2, a
_Thread_local2, b

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:

__asm5
__based3, 5
__cdecl5
__declspec5
__except5
__fastcall
__finally5

__inline5
__int165
__int325
__int645
__int85
__leave5
__restrict

__stdcall5
__try5
__typeof__
__typeof_unqual__
dllexport4
dllimport4
naked4
static_assert6
thread4

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í __declspecs ; 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, dllimportnakeda 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.

Viz také

Elementy jazyka C