W języku C, aby dołączyć do programu plik nagłówkowy, np. stdio.h, należy użyć
A.
#CONSTB.
#includeC.
staticD.
constW języku C do dołączania plików nagłówkowych służy dyrektywa preprocesora #include. To właśnie jej używa się na początku pliku źródłowego, np. #include <stdio.h>, gdy program ma korzystać z funkcji wejścia i wyjścia takich jak printf, scanf, getchar czy putchar. Ważne jest to, że #include nie jest zwykłą instrukcją języka C wykonywaną w czasie działania programu, tylko poleceniem dla preprocesora, czyli etapu wykonywanego przed właściwą kompilacją. Preprocesor podstawia zawartość wskazanego nagłówka albo informuje kompilator, jakie deklaracje funkcji i typów są dostępne. W praktyce bez #include <stdio.h> kompilator może nie znać prototypu funkcji printf, co prowadzi do ostrzeżeń lub błędów, zależnie od standardu i ustawień kompilacji. Dobra praktyka jest taka, żeby dołączać tylko te nagłówki, które faktycznie są potrzebne, bo poprawia to czytelność kodu i skraca czas budowania większych projektów. Moim zdaniem to jedna z tych rzeczy w C, które warto zapamiętać od razu, bo pojawia się prawie w każdym prostym programie.
W tym pytaniu chodzi o mechanizm dołączania plików nagłówkowych w języku C, a nie o deklarowanie zmiennych ani zarządzanie pamięcią. Plik nagłówkowy, taki jak stdio.h, zawiera deklaracje funkcji, makra, definicje typów i inne informacje potrzebne kompilatorowi, żeby poprawnie sprawdzić kod źródłowy. Do tego celu używa się dyrektywy preprocesora #include, zapisanej zwykle w formie #include <stdio.h> dla nagłówków standardowych albo #include "plik.h" dla własnych nagłówków projektu. Słowo static ma zupełnie inne znaczenie. W C może ograniczać widoczność funkcji lub zmiennej do danego pliku źródłowego, a przy zmiennych lokalnych powoduje zachowanie wartości między wywołaniami funkcji. Nie ma ono nic wspólnego z pobieraniem zawartości pliku nagłówkowego. Podobnie const oznacza, że dana wartość nie powinna być modyfikowana po inicjalizacji, np. const int max = 10;. To przydatne dla bezpieczeństwa kodu i czytelności, ale nie uruchamia preprocesora. Zapis #CONST wygląda trochę jak dyrektywa, bo zaczyna się od znaku #, i tu łatwo się pomylić, ale w standardowym C nie jest to poprawna dyrektywa służąca do dołączania plików. Typowy błąd myślowy polega na kojarzeniu znaku # z dowolnym poleceniem specjalnym albo myleniu stałych z nagłówkami. W praktycznym programowaniu warto rozróżniać etapy: preprocesor obsługuje m.in. #include i #define, a kompilator analizuje już właściwe konstrukcje języka, takie jak static czy const.