Коментари¶
У изворном коду написаном у програмском језику C можеш писати коментаре (енгл. comments) који се не извршавају као део програма. Они дају јасноћу изворном коду и омогућавајући другима да боље разумеју функционалност кода. Коментари могу помоћи и аутору кода да се присети функционалности сопственог кода којег је раније написао. Коментари су посебно важни у великим пројектима који могу да садрже на хиљаде линија изворног кода или у пројектима у којима више програмера раде у тиму. Због свега наведеног писање коментара у изворном коду је веома препоручљива пракса.
Након кодирања и тестирања, долази фаза израде програмске документације. У овој фази коментари могу да имају кључну улогу, јер их користе алати за генерисање програмске документације, као што је Doxygen.
Не требаш ни претеривати са употребом коментара и објашњавати очигледне ствари у коду. Информације о синтакси програмског језика или о коришћењу библиотечких функција свако може пронаћи на интернету или у референтним приручницима. Коментари не треба да објашњавају како кôд ради, већ шта ради и зашто ради. Коментари требају бити прецизни, кратки и јасни. Такође, ако касније мењаш изворни кôд који је коментарисан, мораш мењати и коментаре у складу са променама кода.
Стандардни C коментари¶
Стандардни C коментари почињу комбинацијом карактера /*
и завршавају се
комбинацијом карактера */
. Компајлер игнорише коментаре - један коментар
третира као један нештампајући карактер (енгл. white-space character).
Стандардни C коментари могу да садрже било који знак из азбуке језика C,
укључујући и знак за нову линију \n
(енгл. newline). Коментари се могу
писати у једној линији (енгл. line или inline comments) или у више линија
(енгл. block, prologue или stream comments).
На пример, у следећем коду коментарисана је улога функције printf()
у једној
линији изнад те функције…
#include <stdio.h>
int main(void)
{
/* Ispis teksta Hello, World! na standardni izlaz */
printf("Hello, World!");
return 0;
}
…или поред те функције
#include <stdio.h>
int main(void)
{
printf("Hello, World!"); /* Ispis teksta Hello, World! na standardni izlaz */
return 0;
}
Ако је коментар предугачак да би стао у једну линију, може се написати у више линија:
/*
* Sledeci program ispisuje tekst Hello, World! na standardni izlaz
* (stdout) koristeci bibliotecku funckiju printf(). Funkcija printf()
* definisana je u biblioteci stdio.h.
*/
#include <stdio.h>
int main(void)
{
printf("Hello, World!");
return 0;
}
Kоментаре не смеш угнежђавати! У следећем примеру, компајлер ће пронаћи грешку
у петој линији. Након што је препознао почетак коментара у првој линији /*
игнорисао је текст све до првог појављивања */
у другој линији. Потом је
препознао почетак и крај у трећој линији, па почетак и крај у четвртој линији.
Крај коментара у петој линији */
је вишак и произвешће грешку у изворном коду.
/* Program ispisuje tekst Hello, World! na standardni izlaz (stdout):
/* Ukljucivanje biblioteke stdio.h */
/* Definisanje funkcije main() */
/* Ispis teksta Hello, World! na standardni izlaz */
*/
#include <stdio.h>
int main(void)
{
printf("Hello, World!");
return 0;
}
Једнолинијски коментари¶
У програмском језику C++ уведени су једнолинијски коментари. Једнолинијски
коментар почиње знаком //
, а завршава се крајем линије. Како су данас сви
модерни C компајлери заправо C/C++ компајлери, овакви једнолинијски коментари
могу се користити и у коду писаном у програмском језику C.
#include <stdio.h>
int main(void)
{
// Ispis teksta Hello, World! na standardni izlaz
printf("Hello, World!");
return 0;
}
или
#include <stdio.h>
int main(void)
{
printf("Hello, World!"); // Ispis teksta Hello, World! na standardni izlaz
return 0;
}
У једнолинијским коментарима не смеш користити знак \
на крају линије.
Компајлер у следећем програму неће пронаћи грешку, али ће схватити знак \
на
крају линијског коментара као почетак секвенце, па ће игнорисати и целу следећу
линију схвативши је као део коментара.
#include <stdio.h>
int main(void)
{
// Ispis teksta Hello, World! na standardni izlaz \
printf("Hello, World!");
return 0;
}