C のキーワード

「キーワード」は C コンパイラで特別な意味を持つ単語です。移動のフェーズ 7 および 8 ではID が同じスペルを使用してC. のキーワードと競合することはできません。( プリプロセッサの参照移動のフェーズ の説明を参照してください ; 識別子の詳細については識別子 を参照してください)。C 言語では次のキーワードを使用します :

自動

double

int

struct

break

else

long

switch

case

enum

登録

typedef

char

extern

return

union

const

float

short

unsigned

continue

for

Signed

void

default

goto

sizeof

volatile

do

if

static

while

キーワードは再定義できません。ただしC プリプロセッサ ディレクティブ を使用してコンパイルする前にキーワードを置き換えるテキストを指定できます。

Microsoft 固有の仕様 →

ANSI C 規格では2 種類の先頭にアンダースコア () を使用して識別子がコンパイラの実装のために予約します。したがってMicrosoft の規則はアンダースコアおよび Microsoft 固有のキーワードの名前を指定します。これらの予約語を識別子名として使用することはできません。二つのアンダースコアの使用を含む識別子を名前付けに関する ANSI の規則については識別子 を参照してください。

次のキーワードと特別な識別子はMicrosoft C コンパイラで認識されます :

__asm

dllimport2

__int8

naked2

__based1

__except

__int16

__stdcall

__cdecl

__fastcall

__int32

スレッド 2

__declspec

__finally

__int64

__try

dllexport2

__inline

__leave

 

1.__based のキーワードが 32 ビットと 64 ビットのターゲット コンパイルの制限されています。

2.これらは指定して使用した場合は特別な識別子です__declspec。; 他のコンテキストの使用は制約されません。

Microsoft 拡張機能は既定で有効になっています。プログラムが完全に移植性の高いであることを確認するには/Za オプション (ANSI 互換のコンパイル) を指定するとコンパイル時の Microsoft 拡張機能を無効にできます。この場合Microsoft 固有のキーワードが無効になります。

Microsoft 拡張機能を有効にするとプログラム内に示したキーワードを使用できます。ANSI 準拠ではこれらのキーワードのほとんどは二つのアンダースコアで始まります。したがって4 種類の例外 dllexportdllimportnaked と スレッド は __declspec にのみ使用され先頭に二つのアンダースコアは必要ではありません。下位互換性のためにキーワードの他の単一のアンダースコアのバージョンがサポートされています。

終了 Microsoft 固有の仕様→

参照

概念

C の要素