Funkcje: 1.1. Deklaracja funkcji zawsze przed fukncją main! Jak zadeklarować: typ_zwracanej_wartosci nazwa_funkcji( typ_argumentu_1 nazwa_argumentu_1 /*,...*/, typ_argumentu_n nazwa_argumentu_n ); 1.2. Definicja funkcji moze byc po fukcji main. Jak wyglada definicja: typ_zwracanej_wartosci nazwa_funkcji( typ_argumentu_1 nazwa_argumentu_1 /*,...*/, typ_argumentu_n nazwa_argumentu_n ) { //instrukcje return zwracana_wartosc; } 2. Definicje funkcji mozna zawrzec wraz z deklaracja funkcji przed funkcja main. Wystarczy definicje umiescic przed funkcja main, calkowicie pomijajac deklaracje. typ_zwracanej_wartosci nazwa_funkcji( typ_argumentu_1 nazwa_argumentu_1 /*,...*/, typ_argumentu_n nazwa_argumentu_n ) { //instrukcje return zwracana_wartosc; } 3. Rodzaje funkcji: a) fukcje, ktore zwracaja wartosc - wartosc musi byc przekazany do funkcji main poleceniem return i zawsze przypisany do zmiennej (typ zwracanej wartosci, jak typy zmiennych: int, double, bool...), np.: int funkcja(){ // instrukcje return (int)wynik; } int main(){ int zmienna_wynik = funkcja(); // wywolanie fukcji - wynik jej dzialania musi byc przypisany do zmiennej. return 0; } b) funkcje, ktore nie zwracaja wartosci - tym void, np.: void funkcja(){ // instrukcje } int main(){ funkcja(); // wywolanie fukcji typu void. return 0; } 4. Argumenty funkcji - sluza do przekazywania wartosci zmiennych z funkcji main do funkcji podrzednej (Uwaga - dzialamy na kopiach zmiennych!), np.: double dzielenie(int a, int b){ return a/b; // gdzie a i b sa kopiami zmiennych z funkcji main, widac je tylko wewnatrz funkcji dzielenie } int main(){ int x=3, y=2; // zmienne x i y sa widoczne tylko wewnatrz funkcji main, ich wartosc jest przekopiowana do zmiennych a i b w nastepnej linijce double wynik_dzielenia = dzielenie(x, y); return 0; }