C 키워드

"키워드"는 C 컴파일러에서 특별한 의미를 가진 단어입니다. 7번째 및 8번째 변환 단계에서는 식별자가 C 키워드와 같은 철자 및 대/소문자를 사용할 수 없습니다. 자세한 내용은 전처리기 참조변환 단계 설명을 참조하세요. 식별자에 대한 자세한 내용은 식별자를 참조하세요. C 언어는 다음의 키워드를 사용합니다.

auto double int truct
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, nakedthread__declspec과 함께 사용되므로 선행 밑줄이 필요하지 않습니다. 이전 버전과의 호환성을 위해 나머지 키워드에는 밑줄 한 개가 옵니다.

    Microsoft 전용 종료

참고 항목

C 요소