Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Słowa kluczowe to słowa, które mają specjalne znaczenie dla kompilatora języka C. W fazach tłumaczenia 7 i 8 identyfikator nie może mieć takiej samej pisowni i wielkości liter jak słowo kluczowe C. Aby uzyskać więcej informacji, zobacz fazy tłumaczenia w dokumentacji preprocesora. Aby uzyskać więcej informacji na temat identyfikatorów, zobacz Identyfikatory.
Słowa kluczowe języka C w warstwie Standardowa
Język C używa następujących słów kluczowych:
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 Słowa kluczowe wprowadzone w iso C99.
2 Słowa kluczowe wprowadzone w iso C11.
A Począwszy od programu Visual Studio 2019 w wersji 16.8 te słowa kluczowe są obsługiwane w kodzie skompilowanym jako C po określeniu /std:c11
opcji kompilatora lub /std:c17
.
b Począwszy od programu Visual Studio 2019 w wersji 16.8, te słowa kluczowe są rozpoznawane, ale nie są obsługiwane przez kompilator w kodzie skompilowanym jako C po określeniu /std:c11
opcji kompilatora lub /std:c17
.
Nie można ponownie zdefiniować słów kluczowych. Można jednak określić tekst, aby zastąpić słowa kluczowe przed kompilacją przy użyciu dyrektyw preprocesora języka C.
Słowa kluczowe języka C specyficzne dla firmy Microsoft
Standardy ANSI i ISO C umożliwiają zarezerwowanie identyfikatorów z dwoma wiodącymi podkreśleniami na potrzeby implementacji kompilatora. Konwencja firmy Microsoft ma poprzedzać nazwy słów kluczowych specyficznych dla firmy Microsoft z podwójnymi podkreśleniami. Tych słów nie można używać jako nazw identyfikatorów. Aby uzyskać opis reguł nazewnictwa identyfikatorów, w tym użycia podwójnych podkreśleń, zobacz Identyfikatory.
Poniższe słowa kluczowe i specjalne identyfikatory są rozpoznawane przez kompilator Microsoft C:
__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 Słowo __based
kluczowe ma ograniczone zastosowania do kompilacji docelowych 32-bitowych i 64-bitowych.
4 Są to specjalne identyfikatory używane w __declspec
programie ; ich użycie w innych kontekstach jest nieograniczone.
5 W celu zachowania zgodności z poprzednimi wersjami te słowa kluczowe są dostępne zarówno z dwoma wiodącymi podkreśleniami, jak i jednym wiodącym podkreśleniem po włączeniu rozszerzeń firmy Microsoft.
6 Jeśli nie dołączysz <pliku assert.h>, kompilator Microsoft Visual C mapuje static_assert
na słowo kluczowe C11 _Static_assert
.
Rozszerzenia firmy Microsoft są domyślnie włączone. Aby ułatwić tworzenie kodu przenośnego, można wyłączyć rozszerzenia firmy Microsoft, określając opcję /Za (Wyłącz rozszerzenia języka) podczas kompilacji. W przypadku korzystania z tej opcji niektóre słowa kluczowe specyficzne dla firmy Microsoft są wyłączone.
Po włączeniu rozszerzeń Microsoft, możesz używać słów kluczowych wymienionych powyżej w swoich programach. W celu zachowania zgodności ze standardem języka większość tych słów kluczowych ma podwójne podkreślenie wiodące. Cztery wyjątki, dllexport
, dllimport
, naked
i thread
, są używane tylko z elementami __declspec
i nie wymagają wiodącego podwójnego podkreślenia. W celu zapewnienia zgodności z poprzednimi wersjami, wersje z pojedynczym podkreśleniem reszty słów kluczowych są obsługiwane.