77
WYWOŁYWANIE
void (z łuig. pusty, próżny) jest słowem kluczowym mającym kilka znaczeń, w tym przypadku oznacza "brak wartości”.
Generalnie, w terminologii C pojęcie “procedura" nie jest używane, mówi się raczej “funkcja zwracająca void".
Jeśli nie podamy typu danych zwracanych przez funkcję kompilator domyślnie przyjmie typ int, choć już w standardzie C99 nieokreślenie wartości zwracanej jest błędem.
Stary sposób definiowania funkcji
Zanim powstał standard ANSI C. w liście parametrów nie podawało się typów argumentów, a jedynie idi nazwy. Również z tamtych czasów wywodzi się oznaczenie, iż puste nawiasy (w prototypie ftmkcji. nie w definicji) oznaczają, że funkcja przyjmuje nieokreśloną liczi>ę argumentów. Tego archaicznego sposobu definiowania funkcji nie należy już stosować, ale ponieważ w swojej przygodzk* z językiem C Czytelnik może się na nią natknąć, a co więcej standard nadal (z powodu zgodności z wcześniejszymi wersjami) dopuszcza taką deklarację to należy tutaj o niej wspomnieć. Otóż wygląda ona następująco:
typ_zvracany nazwa_funkcji(argument 1, argument2, argumentn) typl argumenty /*, ... */; typ2 argumenty /*, ... */;
/* ... •/
/* instrukcje */
Na przykład wcześniejsza funkcja iloczyn wyglądałaby następująco:
int iloczyn(x, y) int x, y;
int iloczyn_xy; iloczyn_xy ■ x*y; return iloczyn_xy;
Najuważniejszą wadą takiego sposobu jest fakt. że w prototypie funkcji nie ma podanych typów argumentów, przez co kompilator nie jest w stanie sprawdzić poprawności wywołania funkcji. Naprawiono to (wprowadzając definicje takie jak je znamy obecnie) najpierw w języku C++, a potem rozwiązanie zapożyczono w standardzie ANSI C z 1989 roku.
Wywoływanie
Funkcje wywołuje się następująco:
identyfikator (argumenti, argument2, argumentn);