다음을 통해 공유


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 전용 키워드 이름 앞에 있게 됩니다. 이들 단어는 식별자 이름으로 사용할 수 없습니다. 두 개의 밑줄을 사용하는 경우를 포함하여 명명 식별자의 ANS 규칙에 대한 자세한 내용은 식별자를 참조하십시오.

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 전용 종료

참고 항목

개념

C의 요소