Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zmienne globalne i podział programu na części

BIDMEXI 31 Gru 2013 21:30 1128 2
  • #1 31 Gru 2013 21:30
    BIDMEXI
    Poziom 9  

    Witam.
    Gdy dzielę program na części, tworzę (oprócz pliku main.c) nowy plik x.c i x.h. Pewne funkcje i zmienne występujące w pliku x.c, które chcę udostępnić w innych plikach (np. w main.c), deklaruję w pliku x.h. Dzięki temu mogę z nich później korzystać.

    Jak należy postąpić, gdy chcę udostępnić zmienną lub funkcję z pliku main.c do innego pliku *.c? Czy muszę utworzyć plik main.h i tam zamieścić wszelkie deklaracje zmiennych (globalnych) i funkcji, które udostępniam?

    0 2
  • Pomocny post
    #2 31 Gru 2013 22:00
    tadzik85
    Poziom 38  

    Tak poprzez extern.

    0
  • #3 01 Sty 2014 12:03
    BlueDraco
    Specjalista - Mikrokontrolery

    Nie musisz tworzyć pliku .h, chociaż takie rozwiązanie jest eleganckie. Jeśli rzecz dotyczy niewielkiej liczby zmiennych lub funkcji używanych tylko w jednym pliku poza tym, w którym są zdefiniowane, możesz ich deklaracje jako zewnętrznych zapisać po prostu w pliku .c, w którym mają być używane, np.
    extern int zmienna;
    int funkcja(void);

    Kompilatorowi jest wszystko jedno, czy deklaracje będą w pliku .c, czy we włączonym do niego pliku .h. Wszelkie konwencje w tym zakresie służą jedynie przejrzystości zapisu i czytelności programów. Jeśli potrzebujesz użyć jakiejś deklaracji w więcej niż jednym pliku .c - stwórz odpowiedni .h; jeśli tylko w jednym - wybór należy do Ciebie.

    0