共用方式為


C 關鍵字

「關鍵字」是指對 C 編譯器有特殊意義的字詞。 在轉譯階段 7 和 8 中,識別項不能包含與 C 關鍵字相同的拼字和大小寫。(請參閱《前置處理器參考》中的轉譯階段描述。如需識別項的詳細資訊,請參閱識別項)。C 語言使用下列關鍵字:

auto

double

int

struct

break

else

long

switch

case

enum

register

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 標準允許保留具有兩個前置底線的識別項,供編譯器實作使用。 因此,Microsoft 的慣例就是在 Microsoft 專有關鍵字名稱前面加上雙底線。 這些字詞不可做為識別項名稱使用。 如需命名識別項之 ANSI 規則的描述,包括使用雙底線,請參閱識別項

Microsoft C 編譯器可辨識下列關鍵字和特殊識別項:

__asm

dllimport2

__int8

naked2

__based1

__except

__int16

__stdcall

__cdecl

__fastcall

__int32

thread2

__declspec

__finally

__int64

__try

dllexport2

__inline

__leave

 

1. __based 關鍵字用於 32 位元和 64 位元目標編譯時有所限制。

2. 這些是搭配 __declspec 使用時的特殊識別項,在其他內容中使用則不受限制。

Microsoft 擴充功能預設為啟用。 為了確保您的程式可完整移植,您可以在編譯期間指定 /Za 選項 (適用於 ANSI 相容性編譯),停用 Microsoft 擴充功能。 如果您這樣做,Microsoft 專有關鍵字就會停用。

在 Microsoft 擴充功能啟用時,您可以在程式中使用上面所列的關鍵字。 為了提供 ANSI 相容性,大部分關鍵字前面都會加上雙底線。 dllexport、dllimport、naked 和 thread 這四個例外狀況只會搭配 __declspec 使用,因此不需要前置雙底線。 為了提供回溯相容性,仍支援其餘關鍵字的單一底線版本。

END Microsoft 特定的

請參閱

概念

C 的元素