x = sqrt(9); //zwraca pierwiastek kwadratowy z 9 i przypisuje
//tę wartość zmiennej x
Wyrażenie sqrt(9) wywołuje funkcję sqrt(). Jest to wywołanie funkcji. Wartość w nawiasie to dane przekazywane do funkcji - parametr lub argument.
Kompilator przed wywołaniem funkcji musi znać jej parametry i typ przez nią zwracany. Dlatego powinniśmy określić każdorazowo prototyp naszych funkcji. Prototyp dla funkcji to tak jak deklaracja dla zmiennej. Prototyp funkcji sqrt wygląda następująco:
double sqrt(double);
Pierwsze słowo oznacza, że zwracana będzie wartość typu double. W nawiasie mamy typ oczekiwanego parametru. Średnik w prototypie informuje, że to nie jest nagłówek funkcji a jej prototyp właśnie. Nie wolno też mylić prototypu i definicji. Prototyp to jedynie opis interfejsu funkcji. Definicja zaś to opis jej szczegółowego działania.
Uwaga. Aby użyć funkcji pierwiastkowej, należy albo wpisać jej odpowiedni prototyp, albo dołączyć plik nagłówka cmath (math.h) gdyż w nim też jest prototyp. Drugi sposób jest bezpieczniejszy.
Argumenty.
Do funkcji można przekazać kilka argumentów. Oddzielamy je wtedy przecinkami. Rozważmy potęgowanie o prototypie:
double pow(double, double); //prototyp
Np. pięć do ósmej to inaczej:
x = pow(5, 8); //wywołanie funkcji z dwoma parametrami - 5 i 8
Są też funkcje bezparametrowe, np:
int funkcja(void);
lub int funkcja();
W drugim przypadku wartość w nawiasie uzupełniana jest domyślnie jako void. Nie można jednak zapomnieć o nawiasach, nawet pustych. Jeśli funkcja nie ma zwracać nic, to przed jej nazwą użyjemy tego samego void - niestety tu nic domyślnie się nie uzupełnia, np.:
void funkcja2(double);
Brak komentarzy:
Prześlij komentarz