Co to jest format pliku C?
.c to plik kodu źródłowego dla języka programowania C. C jest proceduralnym językiem ogólnego przeznaczenia i jest uważany za język średniego poziomu, szeroko stosowany do tworzenia aplikacji, systemów operacyjnych i systemów wbudowanych. Stworzony przez Dennisa Ritchie w Bell Labs w 1972 roku, został ustandaryzowany przez ANSI i ISO poprzez kilka rewizji - obecnym standardem jest C23.
Pliki z rozszerzeniem .c są dostępne dla edytorów tekstu, a użytkownik może czytać lub pisać kod w tych plikach za pomocą prostego oprogramowania do edycji tekstu lub pełnego IDE. Plik .c zawiera rzeczywisty kod napisany przez programistę wraz z innymi informacjami, takimi jak dyrektywy preprocesora (np. #include i #define) oraz komentarze. Przed uruchomieniem plik .c musi zostać skompilowany przez kompilator C, taki jak gcc lub clang, do pliku obiektowego, a następnie skonsolidowany (zlinkowany) w plik wykonywalny.
Pliki .c są specyficzne dla języka C i nie należy ich mylić z plikami źródłowymi C++, które używają rozszerzeń takich jak .cpp lub .cc. Deklaracje współdzielone między wieloma plikami .c są umieszczane w plikach nagłówkowych z rozszerzeniem .h.
Bezpieczeństwo
RYZYKO: LOWPlik .c jest zwykłym tekstem i nie może uruchomić się samoczynnie, więc otwarcie go w edytorze jest bezpieczne. Ryzyko pojawia się dopiero po SKOMPILOWANIU i URUCHOMIENIU nieznanego kodu C: kod z niezaufanego źródła może po zbudowaniu zrobić wszystko to, co program (usuwać pliki, uzyskiwać dostęp do sieci, instalować złośliwe oprogramowanie), a niskopoziomowa natura C ułatwia ukrycie złośliwego lub błędnego kodu. Przeczytaj kod przed kompilacją, buduj niezaufany kod w piaskownicy/VM i nigdy nie uruchamiaj skompilowanego pliku binarnego, któremu nie ufasz. Samo rozszerzenie pliku nie niesie ze sobą zagrożenia - niebezpieczeństwo tkwi w tym, co kod robi po kompilacji.
Szczegóły formatu
w pigułce- Plik źródłowy C++ (przestarzałe) - Historycznie .c (oraz wielkie .C w systemach Unix) było używane również dla źródeł C++, co tłumaczy nazwę „C/C++” w tej bazie; nowoczesny C++ używa .cpp/.cc/.cxx.
- Litera dysku DOS/Windows lub ogólne dane - Rzadko „c” pojawia się jako artefakt niebędący źródłem (np. zabłąkana nazwa jednoliterowa); znaczenie kodu źródłowego dominuje w przeważającej mierze.
Programy otwierające pliki C
Szczegóły techniczne
specyfikacja| Typ MIME | text/x-csrc |
| Kodowanie znaków | Zwykłe ASCII lub UTF-8; brak binarnej sygnatury magicznych bajtów - identyfikowany po zawartości, nie po bajtach |
| Standard języka | Ustandaryzowany jako ANSI C89, następnie C99, C11, C17; obecny standard to C23 (ISO/IEC 9899:2024) |
| Paradygmat programowania | Proceduralny i imperatywny; nie obsługuje natywnie klas ani obiektów |
| Zarządzanie pamięcią | Ręczne - programista przydziela i zwalnia pamięć na stercie za pomocą malloc() i free() |
| Etap preprocesingu | Źródło jest przetwarzane przez preprocesor przed kompilacją, co rozwiązuje dyrektywy #include, #define oraz kompilację warunkową |
| Wynik kompilacji | Kompilowany do pliku obiektowego (.o / .obj), a następnie linkowany do pliku wykonywalnego lub biblioteki statycznej/dzielonej |
| Powiązanie z nagłówkami | Logika implementacji znajduje się w plikach .c; deklaracje współdzielone między jednostkami translacji trafiają do powiązanych plików nagłówkowych .h |
| Główne zastosowania | Jądra systemów operacyjnych, oprogramowanie układowe (firmware), kompilatory, bazy danych i oprogramowanie systemowe o krytycznym znaczeniu dla wydajności |
| Składnia komentarzy | Komentarze blokowe /* ... */ obsługiwane od C89; komentarze jednowierszowe // dodane w C99 |
| Przenośność | Kod zgodny z ISO jest wysoce przenośny między architekturami; różnice platformowe są zarządzane za pomocą strażników preprocesora |
| Rozróżnianie wielkości liter | W systemach plików rozróżniających wielkość liter (Linux, macOS), wielka litera .C konwencjonalnie oznacza plik źródłowy C++, odróżniając go od małej litery .c |
| Ekosystem kompilatorów | Kompilowany między innymi przez GCC, Clang/LLVM, MSVC, Intel oneAPI C++ oraz TinyCC |
| Wydano | C language created 1972 (Bell Labs); standardized ANSI C 1989, ISO C 1990, latest C23 |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.iso.org |
Konwersje C
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki C.