Kurs programowania w C cz. 62

Nasza ocena:

5
Wyświetleń: 476
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C cz. 62 - strona 1

Fragment notatki:

WYWOŁYWANIE 77 void (z ang. 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 ich nazwy. Również z tamtych czasów wywodzi się oznaczenie, iż puste nawiasy (w prototypie funkcji, nie w definicji) oznaczają, że funkcja przyjmuje nieokreśloną liczbę argumentów. Tego archaicznego sposobu definiowania funkcji nie należy już stosować, ale ponieważ w swojej przygodzie 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_zwracany nazwa_funkcji(argument1, argument2, argumentn) typ1 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; } Najpoważ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ć popraw- noś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 (argument1, argument2, argumentn); ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz