Aracılığıyla paylaş


C Anahtar Sözcükleri

Anahtar sözcükler , C derleyicisi için özel anlamı olan sözcüklerdir. 7. ve 8. çeviri aşamalarında, tanımlayıcı C anahtar sözcüğüyle aynı yazım ve büyük/küçük harfe sahip olamaz. Daha fazla bilgi için Bkz. Önişlemci Başvurusu'ndaki çeviri aşamaları. Tanımlayıcılar hakkında daha fazla bilgi için bkz . Tanımlayıcılar.

Standart C anahtar sözcükleri

C dili aşağıdaki anahtar sözcükleri kullanır:

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 ISO C99'da tanıtılan anahtar sözcükler.
2 ISO C11'de tanıtılan anahtar sözcükler.
Visual Studio 2019 sürüm 16.8'den başlayarak, bu anahtar sözcükler veya /std:c17 derleyici seçenekleri belirtildiğinde C /std:c11 olarak derlenen kodda desteklenir.
b Visual Studio 2019 sürüm 16.8'den başlayarak, bu anahtar sözcükler derleyici tarafından C /std:c11 olarak derlenen kodda veya /std:c17 derleyici seçenekleri belirtildiğinde desteklenmez.

Anahtar sözcükleri yeniden tanımlayamazsınız. Ancak, C önişlemci yönergelerini kullanarak derlemeden önce anahtar sözcükleri değiştirmek için metin belirtebilirsiniz.

Microsoft'a özgü C anahtar sözcükleri

ANSI ve ISO C standartları, derleyici uygulamaları için önde gelen iki alt çizgiye sahip tanımlayıcıların ayrılmasına olanak sağlar. Microsoft kuralı, Microsoft'a özgü anahtar sözcük adlarından önce çift alt çizgi eklemektir. Bu sözcükler tanımlayıcı adları olarak kullanılamaz. Çift alt çizgi kullanımı dahil olmak üzere adlandırma tanımlayıcıları kurallarının açıklaması için bkz . Tanımlayıcılar.

Aşağıdaki anahtar sözcükler ve özel tanımlayıcılar, Microsoft C derleyicisi tarafından tanınmaktadır:

__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 Anahtar sözcüğü, __based 32 bit ve 64 bit hedef derlemeler için sınırlı kullanımlara sahiptir.
4 Bunlar ile __declspeckullanıldığında özel tanımlayıcılardır; diğer bağlamlarda kullanımları kısıtlanmamıştır.
5 Önceki sürümlerle uyumluluk için, bu anahtar sözcükler hem öndeki iki alt çizgiyle hem de Microsoft uzantıları etkinleştirildiğinde tek bir ön alt çizgiyle kullanılabilir.
6 assert.h> dosyasını eklemezseniz<, Microsoft Visual C derleyicisi C11 _Static_assert anahtar sözcüğüyle eşlerstatic_assert.

Microsoft uzantıları varsayılan olarak etkindir. Taşınabilir kod oluşturmaya yardımcı olmak için derleme sırasında /Za (Dil uzantılarını devre dışı bırak) seçeneğini belirterek Microsoft uzantılarını devre dışı bırakabilirsiniz. Bu seçeneği kullandığınızda, Microsoft'a özgü bazı anahtar sözcükler devre dışı bırakılır.

Microsoft uzantıları etkinleştirildiğinde, programlarınızda yukarıda listelenen anahtar sözcükleri kullanabilirsiniz. Dil standardına uymak için bu anahtar sözcüklerin çoğunun önünde çift alt çizgi vardır. , , dllimportnakedve threadolmak üzere dört özel durum dllexportyalnızca ile __declspec kullanılır ve baştaki çift alt çizgi gerektirmez. Geriye dönük uyumluluk için geriye kalan anahtar sözcüklerin tek alt çizgili biçimleri desteklenir.

Ayrıca bkz.

C Öğeleri