Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

czwartek, 10 lutego 2011

Kurs języka C: Funkcje - definicja


Autor: Dondu

Kurs języka C: Spis treści


Funkcje są podstawą języka C!

Są to wydzielone części programu, które wykonują zadane czynności przetwarzając podane im opcjonalnie dane tzw. argumenty. Funkcje po zakończeniu działania mogą (lecz nie muszą) zwracać jakieś dane.

Nawiązując do innych języków funkcje są odpowiednikami podprogramów, czy procedur.

Innymi słowy, to pracownicy specjaliści do określonych małych lub większych zadań. Zaletą funkcji jest możliwość umieszczenia w niej określonej (np. często wykorzystywanej) części kodu, a następnie wywoływanie (uruchamianie) funkcji w wielu różnych miejscach programu.

Z punktu widzenia programisty prawie każdy program należy dzielić na mniejsze zadania realizowane w postaci funkcji. W ten sposób program staje się krótki i czytelny.

Funkcje są bardzo elastyczne, czyli można je definiować i używać na wiele sposobów. Więcej na ten temat znajdziesz w pozostałych tematach rozdziału o funkcjach.



Definiowanie funkcji

Aby funkcję "powołać do życia" należy ją zdefiniować w ten sposób:


typ NazwaFunkcji (argumenty
{

    ... jakiś kod do wykonania

}

gdzie:



typ

Określa typ danej jaką zwraca funkcja po jej wykonaniu. Typ danej może być dowolnym typem danych opisanych szczegółowo w temacie: Typy danych

Jeżeli funkcja nie ma zwracać danej, zamiast podawania typu użyjesz słowa kluczowego void, o którym piszę w dalszej części tego artykułu.




NazwaFunkcji()

Dowolna nazwa jaką sobie wymyślisz jednakże podlegająca takim samym zasadom jak nazwy zmiennych, o których możesz się dowiedzieć w temacie: Zmienne - nazwy i deklaracja

Do nazwy funkcji należy dodać nawiasy zwykłe - otwierający i zamykający.




argumenty

To dane przekazywane do funkcji przez program ją wywołujący (nadrzędny).
Argumenty są opcjonalne, to znaczy, że mogą, ale nie muszą występować.
Argumenty umieszcza się pomiędzy nawiasami zwykłymi podczas definiowania funkcji.

Przykład najprostszego argumentu jakim jest pojedyncza zmienna, której także musimy podać typ np.:

(int ilosc_koni)

Jeżeli przekazujesz więcej niż jeden argument, należy oddzielić je od siebie przecinkami.

(int ilosc_koni, char licznik_krow, double temperatura)

Tak zdefiniowane i przekazane argumenty są dostępne wewnątrz funkcji jako zmienne o określonych przez Ciebie typach i nazwach.

Jeżeli funkcja nie ma mieć argumentów, zamiast nich użyjesz słowa kluczowego void, o którym piszę w dalszej części tego artykułu.




{ }

Nawiasy (klamrowe inaczej zwane sześciennymi) określające początek i koniec funkcji, czyli blok kodu z którego składa się funkcja. Zasady dotyczące bloków kodu poznasz na przykładzie: Zmienne lokalne blokowe






Oprócz powyższych informacji poznać musisz jeszcze dwa słowa kluczowe void oraz return.


void (ang. pustka, próżnia, pozbawiony czegoś)

To słowo kluczowe oznaczające brak wartości lub po prostu nic. W przypadku funkcji słowo to stosuje się:
  • zamiast typu funkcji, gdy funkcja nie ma zwracać żadnej wartości,
  • zamiast argumentów funkcji, gdy funkcja nie ma mieć żadnych argumentów.
Przykłady znajdziesz w dalszych artykułach w rozdziale o funkcjach.




return;
return JakasDana;

W zależności, którą z powyższych wersji instrukcji return użyjesz, służy ona do (odpowiednio):
  • przerwania wykonywania funkcji,
  • przerwania wykonywania funkcji i zwrócenia danej, o typie określonym w czasie definiowania funkcji.

Return może być umieszczony w dowolnym miejscu funkcji lub na jej końcu. Jeżeli w funkcji nie ma słowa return, to po zrealizowaniu kodu zawartego w funkcji następuje wyjście z niej tak, jakby wykonano return bez podania zwracanej danej.


Przykłady do wszystkich omawianych w tym artykule zagadnień, znajdziesz w pozostałych artykułach z rozdziału o funkcjach. 


Kurs języka C: Spis treści

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

2 komentarze:

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.