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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 13 lip 2025, o 13:00


    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