C 註解
「註解」是一個以正斜線和星號組合 (/*) 為開頭的字元序列,編譯器會將其視為一個空白字元或直接忽略。 註解可以包含可表示字元集的任何字元組合,其中包括新行字元,但不包括「結尾註解」分隔符號 (*/)。 批注可以佔用一行以上,但無法巢狀。
註解可以出現在任何允許顯示空白字元的位置。 由於編譯程式會將批注視為單一空格符,因此您無法在令牌中包含批注。 編譯器會忽略註解中的字元。
使用註解來撰寫程式碼的文件。 下列範例為編譯器可接受的註解:
/* Comments can contain keywords such as
for and while without generating errors. */
註解可以顯示在與程式碼陳述式同一行的位置:
printf( "Hello\n" ); /* Comments can go here */
您可以選擇在函式或程式模組之前使用描述性註解區塊:
/* MATHERR.C illustrates writing an error routine
* for math functions.
*/
由於批注不能包含巢狀批注,因此此範例會造成錯誤:
/* Comment out this routine for testing
/* Open file */
fh = _open( "myfile.c", _O_RDONLY );
.
.
.
*/
會發生錯誤是因為編譯器將 */
文字後的第一個 Open file
辨識為註解的結尾。 當它找到註解外的 */
時,會嘗試處理其餘文字並產生錯誤。
雖然您在測試時可以使用註解來呈現數行程式碼,使其無法作用,不過若要達成此目的,使用前置處理器指示詞 #if
和 #endif
和條件式編譯會更有用。 如需詳細資訊,請參閱《前置處理器參考》中的前置處理器指示詞。
Microsoft 特定的
Microsoft 編譯器也支援使用兩個正斜線的單行註解 (//
)。 這些批注無法延伸至第二行。
// This is a valid comment
開頭為兩個正斜線 (//
) 的批注會以下一個不在逸出字元之前的新行字元終止。 在下一個範例中,換行符前面會加上反斜杠(\
),以建立「逸出序列」。這個逸出序列會導致編譯程式將下一行視為上一行的一部分。 (如需詳細資訊,請參閱逸出序列)。
// my comment \
i++;
因此,i++;
陳述式會標記為註解。
Microsoft C 預設會啟用 Microsoft 擴充功能。 使用 /Za 可停用這些擴充功能。
END Microsoft 特定的