Kata kunci C

Kata kunci adalah kata-kata yang memiliki arti khusus untuk pengompilasi C. Dalam fase terjemahan 7 dan 8, pengidentifikasi tidak dapat memiliki ejaan dan kasus yang sama dengan kata kunci C. Untuk informasi selengkapnya, lihat fase terjemahan di Referensi Praprosesor. Untuk informasi selengkapnya tentang pengidentifikasi, lihat Pengidentifikasi.

Kata kunci C standar

Bahasa C menggunakan kata kunci berikut:

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 Kata Kunci yang dimasukkan ke dalam ISO C99.
2 Kata Kunci yang dimasukkan ke dalam ISO C11.
a Dimulai pada Visual Studio 2019 versi 16.8, kata kunci ini didukung dalam kode yang dikompilasi sebagai C ketika opsi pengompilasi /std:c11 atau /std:c17 ditentukan.
b Dimulai pada Visual Studio 2019 versi 16.8, kata kunci ini dikenali tetapi tidak didukung oleh pengompilasi dalam kode yang dikompilasi sebagai C ketika opsi pengompilasi /std:c11 atau /std:c17 ditentukan.

Anda tidak dapat menentukan ulang kata kunci. Namun, Anda dapat menentukan teks untuk mengganti kata kunci sebelum kompilasi dengan menggunakan direktif praprosesor C.

Kata kunci C khusus-Microsoft

Standar ANSI dan ISO C memungkinkan pengidentifikasi dengan dua garis bawah awal dicadangkan untuk implementasi pengompilasi. Konvensi Microsoft adalah mendahului nama kata kunci khusus-Microsoft dengan garis bawah ganda. Kata-kata ini tidak dapat digunakan sebagai nama pengidentifikasi. Untuk deskripsi aturan pada penamaan pengidentifikasi, termasuk penggunaan garis bawah ganda, lihat Pengidentifikasi.

Kata kunci dan pengidentifikasi khusus berikut dikenali oleh pengompilasi Microsoft C:

__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 Kata kunci __based memiliki penggunaan terbatas untuk kompilasi target 32-bit dan 64-bit.
4 Ini adalah pengidentifikasi khusus ketika digunakan dengan __declspec; penggunaannya dalam konteks lain tidak dibatasi.
5 Untuk kompatibilitas dengan versi sebelumnya, kata kunci ini tersedia baik dengan dua garis bawah awal maupun satu garis bawah awal saat ekstensi Microsoft diaktifkan.
6 Jika Anda tidak menyertakan <assert.h>, pengompilasi Microsoft Visual C memetakan static_assert ke kata kunci C11 _Static_assert.

Ekstensi Microsoft diaktifkan secara default. Untuk membantu membuat kode portabel, Anda dapat menonaktifkan ekstensi Microsoft dengan menentukan opsi /Za (Nonaktifkan ekstensi bahasa) selama kompilasi. Saat Anda menggunakan opsi ini, beberapa kata kunci khusus-Microsoft dinonaktifkan.

Saat ekstensi Microsoft diaktifkan, Anda dapat menggunakan kata kunci yang tercantum di atas dalam program Anda. Agar sesuai dengan standar bahasa, sebagian besar kata kunci ini memiliki garis bawah ganda terkemuka. Empat pengecualian, dllexport, dllimport, naked, dan thread, hanya digunakan dengan __declspec dan tidak memerlukan garis bawah ganda awal. Untuk kompatibilitas mundur, versi garis bawah tunggal dari kata kunci lainnya didukung.

Lihat juga

Elemen dari C