logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak udostępnić zmienne i funkcje z main.c do innych plików w C?

BIDMEXI 31 Gru 2013 21:30 1842 2
  • #1 13121509
    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?
  • Pomocny post
    #2 13121596
    tadzik85
    Poziom 38  
    Tak poprzez extern.
  • Pomocny post
    #3 13122793
    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.
REKLAMA