Функција (програмирање) — разлика између измена

 
== Примјери и програмском језику C ==
<source lang="c">
<pre>
void f()
{}
</presource>
Овде је представљена функција која не враћа резултат, не узима ниједан улазни податак и тијело функције јој је празно. У [[C]]-у се користи кључна ријеч void прије имена функције да би се назначило да функција нема излазни податак. Простор између отворене витичасте и затворене витичасте заграде се користи да би се дефинисао алгоритам по којем функција ради, а отворена и затворена заграда са десне стране назива функције служи за дефинисање улазних параметара, као што ћемо видјети у наредном примјеру.
 
<source lang="c">
<pre>
int saberi( int a, int b )
{
return c;
}
</presource>
Функција saberi прихвата два цијела броја (a и b) и враћа као резултат збир ова два. Овај пут у дефиницији функције видимо да она враћа цио број, баш као што су јој и аргументи цијели бројеви, а између витичастих заграда видимо програмски код који имплементира сабирање. Још један аспекат је видљив из овог комада кода, а то је постојање локалних промјењивих - функција може представљати нове податке унутар тијела функције и њихово трајање је одређено трајањем рада функције. На крају видимо кључну ријеч return која служи да прекине функцију и, у овом случају, дефинише резултат функције.
 
<source lang="c">
<pre>
void saberi( int a, int b, int * c )
{
*c = a + b;
}
</presource>
Друга верзија функције saberi користи [[показивач (програмирање)|показивач]]е као средство постизања вањских ефеката, и која у нашем примјеру замјењује формални резултат функције, тј. кориштење кључне ријечи return. Податак који је послат функцији као показивач, или стриктније говорећи, чија је адреса послата функцији као улазни параметар, је доступан функцији на мијењање и то је још један начин за добијање повратних информација од функције. Тај начин се најчешће користи када нам умјесто једног резултата треба више њих, а дотични програмски језик то не подржава.