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