Bei C handelt es sich um eine Pro­gram­mier­spra­che, die seit den 1970er Jahren nicht mehr weg­zu­den­ken ist. Schließ­lich bildet C die Basis für moderne Be­triebs­sys­te­me und ist somit in­te­gra­ler Be­stand­teil des Alltags von Ent­wick­le­rin­nen und Ent­wick­lern.

Primäre An­wen­dungs­ge­bie­te von C

Es ist nicht ver­wun­der­lich, dass C als Pro­gram­mier­spra­che mitt­ler­wei­le in einer Reihe von An­wen­dungs­ge­bie­ten zum Einsatz kommt und eine der am weitesten ver­brei­te­ten Pro­gram­mier­spra­chen ist. Schon seit ihrer Ent­wick­lung in den 1970er Jahren über­zeug­te die im­pe­ra­ti­ve Pro­gram­mier­spra­che Ent­wick­le­rin­nen und Ent­wick­ler ver­schie­de­ner An­wen­dun­gen aufgrund ihrer au­ßer­ge­wöhn­li­chen Schnel­lig­keit. Sie ist zudem eine beliebte Wahl für alle, die Pro­gram­mie­ren lernen möchten.

Dass das primäre An­wen­dungs­ge­biet von C die Sys­tem­pro­gram­mie­rung ist, über­rascht aufgrund der Ma­schi­nen­nä­he der Pro­gram­mier­spra­che nicht. C hat das erklärte Ziel, eine möglichst exakte Abs­trak­ti­on von nativem As­sem­bler­code zu bieten. Auch die Por­ta­bi­li­tät der Pro­gram­mier­spra­che sowie die Tatsache, dass Hardware im C-Code direkt an­ge­spro­chen werden kann, machen C zu einer aus­ge­zeich­ne­ten Wahl für die Pro­gram­mie­rung von Treibern oder sogar ganzen Be­triebs­sys­te­men.

Auch Compiler oder Pro­gramm­bi­blio­the­ken anderer Pro­gram­mier­spra­chen sowie ganze höhere Pro­gram­mier­spra­chen basieren auf C und machen sich die Schnel­lig­keit und geringe Da­tei­grö­ße von C-Pro­gram­men zunutze.

Vor- und Nachteile der Pro­gram­mier­spra­che

C ist nicht ohne Grund eine beliebte Pro­gram­mier­spra­che. Sie bietet eine Reihe von Vorteilen. Vor allem die hohe Aus­füh­rungs­ge­schwin­dig­keit von Pro­gram­men, die in C kom­pi­liert sind, ist ein aus­schlag­ge­ben­der Punkt für die Nutzung der Sprache. Auch die Tatsache, dass C-Code sehr portabel ist und somit unter ver­schie­de­nen Be­triebs­sys­te­men aus­ge­führt werden kann, ist ein Argument für die Nutzung von C. Darüber hinaus handelt es sich bei der Pro­gram­mier­spra­che um eine so­ge­nann­te höhere Sprache, die die zentralen Kon­struk­te enthält, die Sie auch in anderen Pro­gram­mier­spra­chen finden. So können Sie, wenn Sie C be­herr­schen, ver­hält­nis­mä­ßig einfach zu anderen Sprachen wechseln.

Gerade für An­fän­ge­rin­nen und Anfänger kann die Pro­gram­mie­rung mit C al­ler­dings auch nach­tei­lig sein: Die strikte Hardware-Nähe der Sprache führt dazu, dass feh­ler­haf­te Programme Spei­cher­in­halt schnell durch­ein­an­der­brin­gen können. Auch der Lern­auf­wand für C ist im Vergleich zu anderen Pro­gram­mier­spra­chen eher hoch. Grund hierfür ist u. a. die fehlende Ob­jekt­ori­en­tie­rung.

Syntax

Die Syntax einer Pro­gram­mier­spra­che ist das Regelwerk, das Sie befolgen müssen, um lauf­fä­hi­gen Quellcode zu schreiben. Wie jede Pro­gram­mier­spra­che hat auch C einige syn­tak­ti­sche Be­son­der­hei­ten, die Pro­gram­mie­ren­de kennen sollten, um feh­ler­frei­en Pro­gramm­code zu verfassen.

  • Semikola: Jede Anweisung in C endet mit einem Semikolon. Hierbei ist es egal, ob es sich um einen Funk­ti­ons­auf­ruf oder um eine Variablen-De­kla­ra­ti­on handelt.
  • Ge­schweif­te Klammern: An­wei­sungs­blö­cke werden in C durch eine öffnende und eine schlie­ßen­de ge­schweif­te Klammer ge­kenn­zeich­net. Eine Ein­rü­ckung ist daher, anders als in einigen anderen Pro­gram­mier­spra­chen, nicht er­for­der­lich. Dennoch erhöht eine Ein­rü­ckung des Codes die Les­bar­keit enorm und ist daher zu empfehlen.
  • Ein­bin­dung von Bi­blio­the­ken: Die Ein­bin­dung von Bi­blio­the­ken, um bereits vor­im­ple­men­tier­te Funk­tio­nen nutzen zu können, erfolgt ganz am Anfang des C-Codes mittels Include-Statement:
#include <stdlib.h></stdlib.h>
  • Die main-Funktion: Der Start und das Ende eines Programms ist die so­ge­nann­te main-Funktion. Jedes C-Programm muss eine main-Funktion enthalten.
#include <stdio.h></stdio.h>
// Hier beginnt die main-Funktion, die die Zeichenkette „Hello world!“ auf dem Bildschirm ausgibt.
int main(void) {
	printf(„Hello world!“);
}
  • Kom­men­ta­re: Ein­zei­li­ge Kom­men­ta­re werden in C mit einem doppelten Slash „//“ ein­ge­lei­tet. Für mehr­zei­li­ge Kom­men­ta­re verwendet man die Notation „/* Kom­men­tar­in­halt */“

Welche weiteren Pro­gram­mier­spra­chen basieren auf C?

C bildet die Grundlage für eine Reihe weiterer Pro­gram­mier­spra­chen, die vor allem für die System- und Software-Ent­wick­lung ein­ge­setzt werden. Direkt auf C basieren C++ und C#. Beide Pro­gram­mier­spra­chen sind im Gegensatz zu der im­pe­ra­ti­ven Pro­gram­mier­spra­che C ob­jekt­ori­en­tiert und bieten daher einen anderen Funk­ti­ons­um­fang. Auch die ob­jekt­ori­en­tier­te Pro­gram­mier­spra­che Java basiert auf C und hat eine sehr ähnliche Syntax.

In der Web­ent­wick­lung gibt es ebenfalls Pro­gram­mier­spra­chen, die auf C basieren. Ein populäres Beispiel ist die Skript­spra­che PHP, die die Grundlage für viele Web­an­wen­dun­gen wie etwa WordPress bildet. Auch die Sprache Ja­va­Script, die es­sen­zi­ell für in­ter­ak­ti­ve Websites ist, basiert auf C.

Un­ter­schie­de zwischen C, C# und C++

Die Na­mens­ge­bung der Pro­gram­mier­spra­chen C, C++ und C#, die zu allem Überfluss manchmal auch noch C++++ genannt wird, kann aufgrund ihrer Ähn­lich­keit zunächst ein bisschen verwirren. Die Un­ter­schie­de der einzelnen Sprachen schaffen hingegen Klarheit, denn C++, C# und C verfolgen un­ter­schied­li­che Pro­gram­mier­pa­ra­dig­men: Während C eine Pro­gram­mier­spra­che für im­pe­ra­ti­ve Pro­gram­mie­rung ist, handelt es sich bei C# und C++ um ob­jekt­ori­en­tier­te Pro­gram­mier­spra­chen.

Doch was ist der Un­ter­schied zwischen C# und C++? Hier wird es bereits ein bisschen schwie­ri­ger. C ist eine Un­ter­men­ge von C++, d. h. alle C-Programme können so auch in C++ verfasst werden. C++ enthält eine Reihe von Er­wei­te­run­gen wie die Ob­jekt­ori­en­tie­rung, die C noch nicht hatte.

C# ist zwar auch ob­jekt­ori­en­tiert, gilt aber als leichter zu erlernen als C++. Dies liegt daran, dass die Spei­cher­ver­wal­tung bei C# weniger aufwendig ist. Außerdem ist C# ur­sprüng­lich für Windows und nicht für Linux gedacht und basiert auf dem .NET-Framework, sodass Be­nut­zen­de die .NET-Runtime in­stal­liert haben müssen. C# eignet sich für Programme aller Art, wird aber vor allem für die Ent­wick­lung von Spielen ein­ge­setzt. Für hard­ware­na­he Pro­gram­mie­rung ist C# eher weniger geeignet.

Die ersten Schritte, um C zu lernen

Wenn Sie sich ent­schie­den haben, C zu lernen, brauchen Sie einen Compiler, um den von Ihnen ge­schrie­be­nen Code in aus­führ­ba­re Programme umwandeln zu können. Ein solcher ist unter Linux bereits vor­in­stal­liert, aber auch unter Windows gibt es Compiler, mit denen Sie arbeiten können. Eine beliebte Lösung für Windows ist MinGW. Mit MinGW können Sie den Linux-C-Compiler GCC unter Windows nutzen.

Besonders, wenn Sie kom­ple­xe­re und größere Programme schreiben möchten, kann es sich außerdem lohnen, eine in­te­grier­te Ent­wick­lungs­um­ge­bung (IDE) für die C-Pro­gram­mie­rung her­un­ter­zu­la­den. Eine solche ist nicht zwingend notwendig, hilft Ihnen aber mit Syntax-High­light­ing und einem in­te­grier­ten Debugger bei kom­pli­zier­te­ren Projekten. Für welche IDE Sie sich hierbei ent­schei­den, ist reine Ge­schmacks­sa­che. CLion ist für alle Be­triebs­sys­te­me er­hält­lich und bietet viele nützliche Features an. Doch auch Visual Studio für Windows oder Xcode für MacOS un­ter­stüt­zen selbst­ver­ständ­lich das Pro­gram­mie­ren von C-Pro­gram­men.

Tipp

Sie möchten C++ lernen? Schauen Sie in unser Tutorial!

Zum Hauptmenü