Sdílet prostřednictvím


Komentáře v jazyce C

"Komentář" je posloupnost znaků začínající kombinací lomítka a hvězdičky (/ *), který je považována za jediný prázdný znak a je kompilátorem jinak ignorován.Komentář může obsahovat jakoukoli kombinaci znaků znakové sady, včetně znaků nového řádku, vyjma oddělovače "konec komentáře" (*/).Komentáře mohou zaujímat více než jeden řádek, ale nelze je vnořovat.

Komentáře se mohou vyskytovat kdekoliv, kde je povolen prázdný znak.Jelikož kompilátor považuje komentáře jako jeden prázdný znak, nelze komentáře zadávat v tokenech.Kompilátor ignoruje znaky v komentáři.

Komentáře lze použít k dokumentaci kódu.Tento příklad je komentář, který kompilátor přijímá:

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

Komentáře se mohou vyskytovat na stejném řádku, na jakém se vyskytuje příkaz kódu:

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

Funkce nebo moduly programu lze předcházet popisným blokem komentáře:

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

Jelikož komentáře nemohou obsahovat vnořené komentáře, tento příklad způsobí chybu:

/* Comment out this routine for testing 

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

K této chybě dochází, protože kompilátor rozpozná první znak */ za slovy Open file jako konec komentáře.Pokusí se zpracovat zbývající text a po nalezení znaku */ mimo komentář vygeneruje chybu.

Ačkoli lze komentáře použít k deaktivaci určitých řádků kódu za účelem testování, jsou užitečnou alternativou pro tento úkol direktivy #if a #endif a podmíněná kompilace.Další informace naleznete v tématu Direktivy preprocesoru v Dokumentaci preprocesoru.

Specifické pro Microsoft

Kompilátor společnosti Microsoft podporuje také jednořádkové komentáře, kterým předchází dvě lomítka (/ /).Je-li program kompilován s možností /Za (standard ANSI), vygenerují tyto komentáře chyby.Tyto komentáře nemohou přesahovat na druhý řádek.

// This is a valid comment

Komentáře začínající dvěma lomítky (//) jsou ukončeny následujícím znakem nového řádku, který není předcházen řídícím znakem.V dalším příkladu je znak nového řádku předcházen zpětným lomítkem (\), čímž je vytvořena "řídicí sekvence." Díky této řídicí sekvenci kompilátor považuje další řádek za součást předchozího řádku. (Další informace naleznete v tématu Řídicí sekvence.)

// my comment \
    i++; 

Příkaz i++; je proto zakomentován.

Ve výchozím nastavení pro jazyk Microsoft C jsou rozšíření společnosti Microsoft povoleny.Chcete-li tato rozšíření zakázat, použijte možnost /Za.

Specificka produktu Microsoft END

Viz také

Referenční dokumentace

Tokeny jazyka C