Поделиться через


Ключевые слова в 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 действует соглашение, что используемые в них ключевые слова начинаются с двух символов подчеркивания. Эти слова невозможно использовать как имена идентификаторов. Описание правил именования идентификаторов в 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 по умолчанию включены. Для того чтобы ваши программы были полностью переносимы, расширения Microsoft можно отключить, установив во время компиляции параметр /Za (компилировать для совместимости с ANSI). При этом ключевые слова для систем Microsoft будут отключены.

Когда расширения Microsoft включены, в программах можно использовать перечисленные выше ключевые слова. Для совместимости со стандартом ANSI большинство этих ключевых слов начинаются с двух символов подчеркивания. Четыре исключения, dllexport, dllimport, naked и thread, используются только с ключевым словом __declspec и поэтому не требуют двойного знака подчеркивания. Для всех остальных ключевых слов поддерживаются версии с одним символом подчеркивания. Это сделано для обеспечения обратной совместимости.

Завершение блока, относящегося только к системам Microsoft

См. также

Основные понятия

Элементы C