Kurs programowania w C cz. 65

Nasza ocena:

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

Pobierz ten dokument za darmo

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

Fragment notatki:

80 ROZDZIAŁ 11. FUNKCJE Na razie nie musisz rozumieć powyższych kodów i opisów, gdyż odwołują się do pojęć takich jak  tablica  oraz  wskaźnik,  które opisane zostaną w dalszej części podręcz- nika. Co ciekawe, funkcja main nie różni się zanadto od innych funkcji i tak jak inne może wołać sama siebie (patrz rekurencja niżej), przykładowo powyższy program można zapisać  tak4: #include  #include  int main(int argc, char **argv) { if (*argv) { puts(*argv); return main(argc-1, argv+1); } else { return EXIT_SUCCESS; } } Ostatnią rzeczą dotyczącą funkcji main jest  zwracana  przez nią  wartość . Już przy omawianiu  pierwszego programu  wspomniane zostało, Å¼e jedynymi wartościami, które znaczą zawsze to samo we wszystkich implementacjach języka są 0, EXIT SUCCESS i EXIT F AILURE5  zdefiniowane w pliku nagłówkowym stdlib.h. Wartość 0 i EXIT SUCCESS oznaczają poprawne zakończenie programu (co wcale nie oznacza, Å¼e makro EXIT SUCCESS ma wartość zero), natomiast EXIT FAILURE zakończenie błędne. Wszystkie inne war- tości są zależne od implementacji. Dalsze informacje Poniżej przekażemy ci parę bardziej zaawansowanych informacji o funkcjach w C, jeśli nie masz ochoty wgłębiać się w szczegóły, możesz spokojnie pominąć tę część i wrócić tu później. Jak zwrócić kilka wartości? Jeśli chcesz zwrócić z funkcji kilka wartości, musisz zrobić to w trochę inny sposób. Generalnie możliwe są dwa podejścia: jedno to â€œupakowanie” zwracanych wartości â€“ można stworzyć tak zwaną  strukturę , która będzie przechowywała kilka zmiennych (jest to opisane w rozdziale  Typy złożone).  Prostszym sposobem jest zwracanie jednej z wartości w normalny sposób a pozostałych jako parametrów. Za chwilę dowiesz się, jak to zrobić; jeśli chcesz zobaczyć przykład, możesz przyjrzeć się funkcji  scanf()  z biblioteki standardowej. 4Jeżeli ktoś lubi ekstrawagancki kod ciało funkcji main można zapisać jako return *argv ? puts(*argv), main(argc-1, argv+1) : EXIT SUCCESS;, ale nie radzimy stosować tak skomplikowa- nych i, bądź co bądź, mało czytelnych konstrukcji. 5Uwaga! Makra EXIT SUCCESS i EXIT FAILURE te służą tylko i wyłącznie jako wartości do zwracania przez funkcję main(). Nigdzie indziej nie mają one zastosowania.

(…)

… <stdlib.h>
int main(int argc, char **argv) {
if (*argv) {
puts(*argv);
return main(argc-1, argv+1);
} else {
return EXIT_SUCCESS;
}
}
Ostatnią rzeczą dotyczącą funkcji main jest zwracana przez nią wartość. Już przy
omawianiu pierwszego programu wspomniane zostało, że jedynymi wartościami, które
znaczą zawsze to samo we wszystkich implementacjach języka są 0, EXIT SUCCESS i
EXIT FAILURE5 zdefiniowane w pliku
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz