Funkcje 61
typ zwracanej wartości nazwa parametry
Nagłówek ,-j j-j j-
i treść funkcji. unsigned short int ZnajdzPole (int dlugosc, int szerokość) {- klamra otwierająca
// instrukcje
return (dlugosc * szerokość);
. ,zwracana wartość
słowo kluczowe
} - klamra zamykająca
Definicja mówi kompilatorowi co dana funkcja robi i jak działa.
typ_zwracany nazwa_funkcji ( [typ nazwa_parametru].... ) ;
{
instrukcje;
}
Jak mówiliśmy, prototyp funkcji mówi kompilatorowi o nazwie funkcji, wartości zwracanej i parametrach. Funkcje nie muszą mieć parametrów. Jeśli je posiadają, to prototyp wymaga jedynie podania ich typów, nazwy nie są wymagane. Prototyp zawsze kończy się średnikiem (;).
Definicja funkcji musi być zgodna z prototypem. Wymagane jest nazwanie wszystkich parametrów. Treść funkcji musi być ograniczona klamrami. Podobnie wszystkie instrukcje wewnątrz treści funkcji muszą się kończyć średnikiem. Pamiętaj, że po klamrze zamykającej funkcję nie ma średnika.
Jeśli funkcja zwraca jakąś wartość, to przed wyjściem z funkcji należy użyć instrukcji return. Instrukcja ta może zostać użyta w każdym miejscu treści funkcji.
Dla każdej funkcji określany jest typ wartości zwracanej. Jeśli nie podamy typu, to automatycznie zostanie przypisany typ całkowity — int. Jeśli funkcja nie zwraca żadnej wartości, to typem zwracanym będzie void.
Oto kilka przykładowych prototypów funkcji:
long ZnajdzPole(long dlugosc, long szerokość);// zwraca long, ma
//dwa parametry
void WypiszKomunikat(int numerKomunikatu); // zwraca void, ma
//jeden parametr
int PobierzOpcje(); // zwraca int, nie ma
// parametrów
ZlaFunkcja(); // zwraca int, nie ma
// parametrów
// instrukcje return (dlugosc * szerokość);
zwracana wartość
Rysunek 5.3
Nagłówek i treść funkcji.
typ zwracanej wartości I-1
unsigned short int
{- klamra otwierająca
nazwa
I-1
ZnajdzPole
parametry
I-1
(int dlugosc, int szerokość)
I 1-J
stowo kluczowe
} - klamra zamykająca
Definicja mówi kompilatorowi co dana funkcja robi i jak działa.
typ_zwracany nazwa_funkcji ( [typ nazwa_parametru].... );
{
instrukcje;
i
Jak mówiliśmy, prototyp funkcji mówi kompilatorowi o nazwie funkcji, wartości zwracanej i parametrach. Funkcje nie muszą mieć parametrów. Jeśli je posiadają, to prototyp wymaga jedynie podania ich typów, nazwy nie są wymagane. Prototyp zawsze kończy się średnikiem (;).
Definicja funkcji musi być zgodna z prototypem. Wymagane jest nazwanie wszystkich parametrów. Treść funkcji musi być ograniczona klamrami. Podobnie wszystkie instrukcje wewnątrz treści funkcji muszą się kończyć średnikiem. Pamiętaj, że po klamrze zamykającej funkcję nie ma średnika.
Jeśli funkcja zwraca jakąś wartość, to przed wyjściem z funkcji należy użyć instrukcji return. Instrukcja ta może zostać użyta w każdym miejscu treści funkcji.
Dla każdej funkcji określany jest typ wartości zwracanej. Jeśli nie podamy typu, to automatycznie zostanie przypisany typ całkowity - int. Jeśli funkcja nie zwraca żadnej wartości, to typem zwracanym będzie void.
Oto kitka przykładowych prototypów funkcji:
long ZnajdzPole(long dlugosc, long szerokość);// zwraca long, ma
//dwa parametry
void WypiszKomunikat(int numerKomunikatu); // zwraca void, ma
//jeden parametr
int PobierzOpcje(); // zwraca int, nie ma
// parametrów
ZlaFunkcja(); // zwraca int, nie ma
// parametrów