C 的關鍵字
「 關鍵字 」 是具有特殊意義 c 編譯器的文字。 在轉譯階段 7 和 8,識別項不能有相同的拼字和大小寫與 c 的關鍵字。 (請參閱說明轉譯階段 在 前置處理器的參考。 識別項上的資訊,請參閱識別項。) C 語言會使用下列關鍵字:
自動 |
double |
int |
struct |
break |
else |
long |
switch |
case |
enum |
暫存器 |
typedef |
char |
extern |
return |
union |
const |
float |
short |
unsigned |
continue |
for |
帶正負號 |
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 |
執行緒2 |
__declspec |
__finally |
__int64 |
__try |
dllexport2 |
__inline |
__leave |
|
1. __based關鍵字已限制了對 32 位元與 64 位元目標編譯的用法。
2. 這些是特殊的識別項,搭配使用時__declspec。 在其他內容中的使用不受限制。
Microsoft 擴充功能預設成啟用狀態。 若要確保您的程式是完全可移植,您可以藉由指定 /Za 選項 (編譯 ANSI 相容性),以在編譯期間中停用 Microsoft 擴充。 當您執行這項操作時,會停用 Microsoft 特有的關鍵字。
Microsoft 擴充功能啟用時,您可以使用上面所列程式中的關鍵字。 ANSI 相容性,這些關鍵字的大部分是以雙底線檔案名稱為開頭。 四個的例外狀況, dllexport, dllimport, naked,以及執行緒,只用於__declspec ,因此不需要前置雙底線。 回溯相容性,並支援單底線新版關鍵字的其餘程式碼。
結束 Microsoft 特定