Menu
Coddy logo textTech

Zmienna zewnętrzna

Lekcja 6 z 17 w kursie Funkcje w C w Coddy.

Oprócz zmiennych globalnych i lokalnych istnieje jeszcze jeden rodzaj zmiennych — zmienne zewnętrzne. Zmienne zewnętrzne deklaruje się w jednym pliku, a używa w innym.

Przyjrzyjmy się przykładowi. W pliku głównym możemy zadeklarować coś takiego:

#include <stdio.h>

char title[] = "Coddy.tech";

void show() {
   printf("This is an extern function\n");
}

Tutaj deklarujemy zmienną o nazwie title i funkcję o nazwie show.

Możemy użyć ich w innym pliku, który będzie zawierał funkcję main, w następujący sposób:

#include <stdio.h>
// zmienna title z pliku main.c
extern char title[];    
// funkcja show z pliku main.c
void show(void);        
 
int main(void) {
   // Wypisz zewnętrzną zmienną title w konsoli
   printf("%s \n", title);
   // Wywołaj zewnętrzną funkcję show
   show();
   return 0;
}

 

Aby użyć zmiennej zdefiniowanej w zewnętrznym pliku, przed nazwą zmiennej używamy słowa kluczowego extern. W naszym przykładzie zmienna nazywa się title.

Aby użyć funkcji zdefiniowanej w zewnętrznym pliku, najpierw deklarujemy jej prototyp. 

W naszym przykładzie definiujemy funkcję, która wyświetla komunikat i niczego nie zwraca, dlatego jej prototyp to void show(void). Jeśli na przykład mamy funkcję, która zwraca wartość typu int i przyjmuje dwa parametry typu int, jej prototyp będzie miał postać int name(int, int) i tak dalej.

Wynik tego przykładu będzie następujący:

Coddy.tech 
This is an extern function

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

Wszystkie lekcje w sekcji Funkcje w C

Poćwicz samodzielnie: Kompilator C online