Benutzerspezifische Werkzeuge

C

Die Programmiersprache C ist eine maschinennahe imperative Sprache, die zur System- und Anwendungsprogrammierung eingesetzt wird.

Allgemeines

Entwickelt wurde C Anfang der siebziger Jahre an den Bell Labs von Dennis Ritchie, Brian W. Kernighan und Ken Thompson. Die Veröffentlichung der Sprachbeschreibung erfolgte 1972. Als Implementierungssprache des später weit verbreiteten Betriebssystems UNIX erlangte die Sprache große Bedeutung. Durch die Portierung auf weitere Betriebssysteme wurde C zu einer der am weitesten verbreiteten Programmiersprachen.

C wurde von einigen Vorgängersprachen beeinflusst (B, Algol-68) und beeinflusste Syntax und andere Eigenschaften zahlreicher späterer Sprachen wie C++, Objective-C, C#, Java, PHP oder Perl.

Versionen und Varianten

Zu den Varianten der Programmiersprache C zählen

  • K&R-C (die ursprünglich veröffentlichte Sprachbeschreibung),
  • C89 und C90 (ANSI X3.159-1989 und ISO/IEC 9899:1990) und
  • C99 (ISO/IEC 9899:1999).

Mit dem Standard C99 sind einige aus C++ bekannte Erweiterungen in die Sprache C eingeflossen. In den meisten C-Systemen steht die genormte Standard C Library zur Verfügung.

Eigenschaften

Der ausführbare C-Programmcode wird in Funktionen definiert. Die Sprache erlaubt fest definierte Gültigkeitsbereiche für Variablen und Rekursion. 

Das Speichermanagement in C sieht statische, automatische und dynamische Speicherallokation vor. Bei der statischen Allokation wird Speicherplatz für die Objekte zur Kompilationszeit festgelegt, die automatische Allokation ist durch die Stack-Verwaltung realisiert. Durch die dynamische Speicherallokation können die Speicherbereiche zur Ausführungszeit explizit reserviert und wieder freigegeben werden, sodass Objekte benutzt werden können, deren Größe erst zur Laufzeit bekannt wird.
Aufgrund der Hardwarenähe von C und einer begrenzten Elementenmenge existieren Compiler für zahlreiche Plattformen. Ein C-Programm wird durch einen Linker aus dem kompilierten Objektcode zum ausführbaren Computerprogramm gebunden.

C erlaubt hardwarenahe Programmierung und direkte Speicherzugriffe über Zeiger.  Diese Eigenschaften führen zu einer hohen Effizienz, was insbesondere den Einsatz von C zur Systemprogrammierung – sowohl für Betriebssysteme als auch für eingebettete Systeme – fördert.  Andererseits  können umfangreiche Softwareprojekte in C schnell unübersichtlich und fehleranfällig werden, sodass die Programmiersprache für sicherheitskritische Einsatzgebiete weniger geeignet ist.     

Literatur

Kernighan,  Brian W.;  Ritchie, Dennis: Programmieren in C. 2. Auflage. München: Hanser Fachbuch, 1990

 

Autor


Prof. Dr. Natalia Kliewer, Freie Universität Berlin, Institut für Wirtschaftsinformatik, Garystr. 21, 14195 Berlin

Autoreninfo


Zuletzt bearbeitet: 26.09.2014 13:57
Letzter Abruf: 23.03.2017 19:22
Artikelaktionen