C 주석C Comments

"주석"은 정방향 슬래시/별표 조합(/*)으로 시작하는 문자 시퀀스로, 컴파일러에 의해 단일 공백 문자로 처리되거나 무시됩니다.A "comment" is a sequence of characters beginning with a forward slash/asterisk combination (/*) that is treated as a single white-space character by the compiler and is otherwise ignored. 주석은 줄 바꿈 문자를 비롯하여 표현 가능한 문자 집합의 모든 문자 조합을 포함할 수 있습니다. 단, "종료 주석" 구분 기호(*/)는 제외됩니다.A comment can include any combination of characters from the representable character set, including newline characters, but excluding the "end comment" delimiter (*/). 주석은 두 줄 이상을 차지할 수 있지만 중첩될 수는 없습니다.Comments can occupy more than one line but cannot be nested.

주석은 공백 문자가 허용되는 어느 곳에든 나타날 수 있습니다.Comments can appear anywhere a white-space character is allowed. 컴파일러는 주석을 단일 공백 문자로 처리하므로 토큰 내에 주석을 포함시킬 수 없습니다.Since the compiler treats a comment as a single white-space character, you cannot include comments within tokens. 컴파일러는 주석의 문자를 무시합니다.The compiler ignores the characters in the comment.

주석을 사용하여 코드를 문서화할 수 있습니다.Use comments to document your code. 다음 예제는 컴파일러에서 허용되는 주석입니다.This example is a comment accepted by the compiler:

/* Comments can contain keywords such as  
   for and while without generating errors. */  

주석은 코드 문과 같은 줄에 표시될 수 있습니다.Comments can appear on the same line as a code statement:

printf( "Hello\n" );  /* Comments can go here */  

설명용 주석 블록이 함수 또는 프로그램 모듈 앞에 오도록 선택할 수 있습니다.You can choose to precede functions or program modules with a descriptive comment block:

/* MATHERR.C illustrates writing an error routine   
 * for math functions.   
 */   

주석에는 중첩된 주석이 포함될 수 없으므로 다음 예제에서는 오류가 발생합니다.Since comments cannot contain nested comments, this example causes an error:

/* Comment out this routine for testing   

   /* Open file */  
    fh = _open( "myfile.c", _O_RDONLY );  
    .  
    .  
    .  
 */  

이 오류는 컴파일러가 */이라는 단어 뒤의 첫 번째 Open file를 주석의 끝으로 인식하기 때문에 발생합니다.The error occurs because the compiler recognizes the first */, after the words Open file, as the end of the comment. 컴파일러는 주석이 끝난 다음에 오는 나머지 텍스트를 처리하려 하기 때문에 주석 밖에서 */을 발견할 경우 오류를 표시합니다.It tries to process the remaining text and produces an error when it finds the */ outside a comment.

테스트 목적으로 비활성화된 어떤 코드 줄을 렌더링하기 위해 주석을 사용하는 경우, 프로세서는 #if#endif를 지시하며 이 작업에 조건부 컴파일을 사용하는 것도 또 다른 유용한 방법입니다.While you can use comments to render certain lines of code inactive for test purposes, the preprocessor directives #if and #endif and conditional compilation are a useful alternative for this task. 자세한 내용은 전처리기 참조전처리기 지시문을 참조하세요.For more information, see Preprocessor Directives in the Preprocessor Reference.

Microsoft 전용Microsoft Specific

또한 Microsoft 컴파일러에서는 두 개의 슬래시(//)가 앞에 오는 한 줄 주석이 지원됩니다.The Microsoft compiler also supports single-line comments preceded by two forward slashes (//). /Za(ANSI 표준)로 컴파일할 경우 이러한 주석은 오류를 발생시킵니다.If you compile with /Za (ANSI standard), these comments generate errors. 이 주석은 두 번째 줄로 확장될 수 없습니다.These comments cannot extend to a second line.

// This is a valid comment  

두 개의 슬래시(//)로 시작하는 주석은 이스케이프 문자가 앞에 나오지 않는 다음 줄 바꿈 문자로 종료됩니다.Comments beginning with two forward slashes (//) are terminated by the next newline character that is not preceded by an escape character. 다음 예제에서는 줄 바꿈 문자가 백슬래시(\) 뒤에 와서 "이스케이프 시퀀스"를 만듭니다.In the next example, the newline character is preceded by a backslash (\), creating an "escape sequence." 이 이스케이프 시퀀스는 컴파일러가 다음 줄을 앞 줄의 일부로 취급하게 합니다.This escape sequence causes the compiler to treat the next line as part of the previous line. 자세한 내용은 이스케이프 시퀀스를 참조하세요.(For more information, see Escape Sequences.)

// my comment \  
    i++;   

따라서 i++; 문은 주석 처리됩니다.Therefore, the i++; statement is commented out.

기본적으로 Microsoft C에는 Microsoft 확장을 사용하도록 설정되어 있습니다.The default for Microsoft C is that the Microsoft extensions are enabled. /Za를 사용하여 이러한 확장을 사용하지 않도록 설정합니다.Use /Za to disable these extensions.

Microsoft 전용 종료END Microsoft Specific

참고 항목See Also

C 토큰C Tokens