[tip] ime(tip argument, tip argument2,...) { tip lokalnaSpremenljivka; tip lokalnaSpremenljivka; . . . . . . . . . stavek; stavek; . . . . . . . . return izraz; }Vsaka funkcija ima svoje imein ji ustreza nek podatkovni tip. Če tega ne navedemo, velja, da je tipa int. V programu mora biti ena in samo ena funkcija z imenom main.
Klasični
C je predvideval drugačno deklaracijo argumentov:
[tip] ime (arg1, arg2,..) tip argument1; tip argument2; . . . . . . . . . { . . . . . . . . . }
void prikazMenuja(void) { printf("1....vnos podatkov\n"); printf("2....racunanje \n"); printf("3....Izpis rezultatov \n"); printf("4....Izstop\n"); }
main() { prikazMenuja(); }Ker funkcija prikazMenuja ne vrača ničesar,tudi stavka return ni.
void izracun( char kaj, double x, double y) { switch (kaj) { case('+'): x+= y; break; case('*'): x*= y ; } printf("Rezultat:%lf ",x); } main() { double a,b; char koda; scanf("%c %lf %lf", &koda, &a, &b); izracun(koda,a,b); }Prenos argumentov je bil izveden s "klicem po vrednosti". V klicani funkciji je formalnim parametrom dodeljena kopija vrednosti argumentov, navedenih v klicu funkcije.
return izraz ;