名前空間
変種
操作

Cキーワード

From cppreference.com
< c

これはC言語の予約キーワードのリストです。これらは言語によって使用されるため、再定義することはできません。例外として、属性トークン内では予約されているとはみなされません(C23以降)

alignas (C23)
alignof (C23)
auto
bool (C23)
break
case
char
const
constexpr (C23)
continue
default
do
double
else
enum

extern
false (C23)
float
for
goto
if
inline (C99)
int
long
nullptr (C23)
register
restrict (C99)
return
short
signed

sizeof
static
static_assert (C23)
struct
switch
thread_local (C23)
true (C23)
typedef
typeof (C23)
typeof_unqual (C23)
union
unsigned
void
volatile
while

_Alignas (C11)(C23で非推奨)
_Alignof (C11)(C23で非推奨)
_Atomic (C11)
_BitInt (C23)
_Bool (C99)(C23で非推奨)
_Complex (C99)
_Decimal128 (C23)
_Decimal32 (C23)
_Decimal64 (C23)
_Generic (C11)
_Imaginary (C99)
_Noreturn (C11)(C23で非推奨)
_Static_assert (C11)(C23で非推奨)
_Thread_local (C11)(C23で非推奨)

アンダースコアで始まる最も一般的なキーワードは、通常、それらの便利なマクロを通して使用されます。

キーワード ~として使用 ~で定義
_Alignas (C11)(C23で非推奨) alignas (C23で削除) stdalign.h
_Alignof (C11)(C23で非推奨) alignof (C23で削除) stdalign.h
_Atomic (C11) atomic_bool, atomic_int, ... stdatomic.h
_BitInt (C23) (マクロなし)
_Bool (C99)(C23で非推奨) bool (C23で削除) stdbool.h
_Complex (C99) complex complex.h
_Decimal128 (C23) (マクロなし)
_Decimal32 (C23) (マクロなし)
_Decimal64 (C23) (マクロなし)
_Generic (C11) (マクロなし)
_Imaginary (C99) imaginary complex.h
_Noreturn (C11)(C23で非推奨) noreturn stdnoreturn.h
_Static_assert (C11)(C23で非推奨) static_assert (C23で削除) assert.h
_Thread_local (C11)(C23で非推奨) thread_local (C23で削除) threads.h

一部のキーワードは非推奨ですが、互換性の目的で代替スペルとして保持されています。これらはキーワードが使用できる場所であればどこでも使用できます。

キーワード 代替スペル
alignas (C23) _Alignas (C11)(C23で非推奨)
alignof (C23) _Alignof (C11)(C23で非推奨)
bool (C23) _Bool (C99)(C23で非推奨)
static_assert (C23) _Static_assert (C11)(C23で非推奨)
thread_local (C23) _Thread_local (C11)(C23で非推奨)

これらのキーワードのいずれかのスペル、その代替形式、またはtruefalseが定義済みマクロとして実装されているかどうかは未規定です。

二重アンダースコア__またはアンダースコア_と大文字で始まる各名前は予約されています。詳細は識別子を参照してください。

ダイグラフ<%, %>, <:, :>, %:, および %:%:標準トークンを表現する代替方法を提供することに注意してください。

以下のトークンは、プリプロセッサディレクティブのコンテキストで使用された場合にプリプロセッサによって認識されます。

if
elif
else
endif

ifdef
ifndef
elifdef (C23)
elifndef (C23)
define
undef

include
embed (C23)
line
error
warning (C23)
pragma

defined
__has_include (C23)
__has_embed (C23)
__has_c_attribute (C23)

以下のトークンは、プリプロセッサディレクティブのコンテキストで使用された場合にプリプロセッサによって認識されます。

_Pragma (C99)

以下の追加キーワードは拡張機能および条件付きサポートとして分類されます。

asm
fortran

[編集] 参照

  • C23標準 (ISO/IEC 9899:2024)
  • 6.4.1 Keywords (p: TBD)
  • J.5.9 The fortran keyword (p: TBD)
  • J.5.10 The asm keyword (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 6.4.1 Keywords (p: 42-43)
  • J.5.9 The fortran keyword (p: 422)
  • J.5.10 The asm keyword (p: 422)
  • C11標準 (ISO/IEC 9899:2011)
  • 6.4.1 Keywords (p: 58-59)
  • J.5.9 The fortran keyword (p: 580)
  • J.5.10 The asm keyword (p: 580)
  • C99標準 (ISO/IEC 9899:1999)
  • 6.4.1 Keywords (p: 50)
  • J.5.9 The fortran keyword (p: 514)
  • J.5.10 The asm keyword (p: 514)
  • C89/C90標準 (ISO/IEC 9899:1990)
  • 3.1.1 Keywords
  • G.5.9 The fortran keyword
  • G.5.10 The asm keyword

[編集] 関連項目

English 日本語 中文(简体) 中文(繁體)