Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 23 lis 2024, o 10:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
 Tytuł: Funkcja "main"
PostNapisane: 29 sie 2015, o 17:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

Witam!
Czy funkcja "main" musi być na początku każdego programu czy na przykład może być przed nią definicja innej funkcji, a dopiero potem ona. (Czyli po prostu warunek: nie ważna gdzie, ważne, żeby była) Czy może musi znajdować się jako pierwsza?
I dlaczego ma ona zazwyczaj typ "int" dla zwracanego wyniku? Czy tak musi być, i funkcja "main" zawsze musi mieć rezultat typu "int" i inny nie jest możliwy?
Proszę o pomoc i z góry dziękuję. ;-)

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2015, o 18:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Funkcja główna programu nie musi znajdować się na początku pliku. Można dowolnie przeplatać między nią definicje innych funkcji, ale dobrym zwyczajem jest umieszczanie przed nią jedynie deklaracji funkcji, których definicje znajdą się poniżej "main".

Typ całkowity jest związany ze zwracaniem wartości do systemu operacyjnego w przypadku gdy program pod takim został uruchomiony. Po prostu system operacyjny spodziewa się rezultatu po zakończeniu programu (np. czy aby błąd nie był przyczyną jego zamknięcia). Jeżeli mówimy o mikrokontrolerach bez OS tj. AVR, wartość zwracana nie ma znaczenia, ale jej typ powinien być całkowity albo "void" (oczywiście wtedy nie można zwracać wartości). Pozostałe typy nie są zgodne ze specyfikacją języka i nie powinny być używane, a przez kompilator uznawane za błąd.

Używając słowa kluczowego "return" w funkcji "main" de facto kończymy działanie programu i może to się zakończyć resetem programu, albo "wpadnięciem" aplikacji w pętlę wieczną...
Stąd też dla zachowania poprawności działania programu należy umieszczać "return" pod pętlą główną programu.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2015, o 19:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 310
Pomógł: 18

Spójrzmy do BB - rozdz. 3. oraz 3.5.6 mówiące o dowolności pisania kodu w C oraz o przejrzystości kodu.
TWÓJ plik main.c powinien mieć charakter spisu treści programu - zwięzły z Tobą i kompilatorem. Ty dajesz projekt, a kompilator rezerwuje przestrzeń w sprzęcie. Brak funkcji main w projekcie jest nie do przyjęcia przez kompilator.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2015, o 14:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

Dziękuję bardzo Wam!

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO