Vad är filformatet C?
.c är en källkodsfil för programmeringsspråket C. C är ett generellt, procedurellt språk och betraktas som ett programmeringsspråk på mellannivå som används i stor utsträckning för utveckling av programvara, operativsystem och inbäddade system. Det skapades av Dennis Ritchie vid Bell Labs 1972 och har standardiserats av ANSI och ISO genom flera revideringar - den nuvarande standarden är C23.
Filer med filtillägget .c är tillgängliga med textredigerare och en användare kan läsa eller skriva koden i dessa filer via enkel textredigeringsprogramvara eller en fullständig IDE. .c-filen innehåller den faktiska koden skriven av utvecklaren tillsammans med annan information såsom preprocessordirektiv (som #include och #define) och kommentarer. Innan den körs måste en .c-fil kompileras av en C-kompilator som gcc eller clang till en objektfil och sedan länkas till en körbar fil.
.c-filer är specifika för språket C och bör inte förväxlas med C++-källkodsfiler, som använder tillägg som .cpp eller .cc. Deklarationer som delas mellan flera .c-filer placeras i header-filer med filtillägget .h.
Säkerhet & trygghet
RISK: LOWEn .c-fil är vanlig text och kan inte köras av sig själv, så det är säkert att öppna en i en redigerare. Risken uppstår först när du KOMPILERAR och KÖR okänd C-kod: källkod från en otillförlitlig källa kan göra allt ett program kan när det väl är byggt (radera filer, nätverksåtkomst, installera skadlig kod), och C-språkets lågnivåkaraktär gör det lätt att dölja skadlig eller felaktig kod. Läs koden innan du kompilerar den, bygg otillförlitlig kod i en sandlåda/VM och kör aldrig en kompilerad binär som du inte litar på. Själva filtillägget bär ingen sårbarhet - faran ligger i vad koden gör efter kompilering.
Formatdetaljer
i ett nötskal- C++-källkodsfil (legacy) - Historiskt användes .c (och versalt .C på skiftlägeskänsliga Unix) även för C++-källa, vilket är innebörden i detta databasnamn «C/C++»; modern C++ använder .cpp/.cc/.cxx.
- DOS/Windows enhetsbokstav eller generisk data - I sällsynta fall förekommer «c» som en artefakt som inte är källkod (t.ex. ett herrelöst namn på en enda bokstav); betydelsen som källkod dominerar dock helt.
Program som öppnar C-filer
Tekniska detaljer
djup specifikation| MIME-typ | text/x-csrc |
| Teckenkodning | Vanlig ASCII eller UTF-8; ingen binär magic-byte-signatur - identifieras genom innehåll, inte bytes |
| Språkstandard | Standardiserat som ANSI C89, sedan C99, C11, C17; nuvarande standard är C23 (ISO/IEC 9899:2024) |
| Programmeringsparadigm | Procedurellt och imperativt; stöder inte klasser eller objekt nativt |
| Minneshantering | Manuell - utvecklaren allokerar och frigör heap-minne med malloc() och free() |
| Preprocessing-steg | Källan bearbetas av en preprocessor före kompilering, vilket löser #include, #define och villkorliga kompileringsdirektiv |
| Kompileringsutdata | Kompileras till en objektfil (.o / .obj), länkas sedan till en körbar fil eller ett statiskt/delat bibliotek |
| Header-parning | Implementationslogik finns i .c-filer; deklarationer som delas över translationsenheter placeras i parade .h-header-filer |
| Primära applikationer | Operativsystemskärnor, inbäddad firmware, kompilatorer, databaser och prestandakritisk systemprogramvara |
| Kommentarsyntax | Blockkommentarer /* ... */ stöds sedan C89; enradskommentarer // lades till i C99 |
| Portabilitet | ISO-kompatibel kod är mycket portabel mellan arkitekturer; plattformsskillnader hanteras med preprocessor-guards |
| Skiftlägeskänslighet | På skiftlägeskänsliga filsystem (Linux, macOS) betecknar versalt .C konventionellt en C++-källkodsfil, skild från gement .c |
| Kompilatorekosystem | Kompileras av bland annat GCC, Clang/LLVM, MSVC, Intel oneAPI C++ och TinyCC |
| Släppt | C language created 1972 (Bell Labs); standardized ANSI C 1989, ISO C 1990, latest C23 |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.iso.org |
C-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om C-filer.