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 选项禁用 Microsoft 扩展 (对于 ANSI 兼容性请编译) 在编译时。 如果这样做,特定于 Microsoft 的关键字被禁用。

在 Microsoft 扩展启用时,可以在程序可以使用列出的关键字上面。 对于 ANSI 标准,大部分关键字后跟一个双下划线开头。 四个异常, dllexport、 dllimport、 naked和 线程,仅用于 __declspec 并且不需要前导的双下划线。 对于向后兼容性,关键字的其余部分的单下划线版本支持。

特定于 Microsoft 的结尾

请参见

概念

C的元素