Startseite   Titel   Zurück   Suche 
OPTIONEN
 Zur Startseite
 Zur Titelseite
 Eine Seite zurück
 Suche
SCHLIESSEN


C
Übersicht
Einführung Mehr... Links RFCs Books
PROGRAMMIERUNG
  • Was ist C?
  • Was kann C?
  • Sicherheitsrisiko C?
  • Beispiel - Dies ist ein Test
  • Credits
  • Was ist C?
    C ist ähnlich wie TurboPascal eine vielseitig einsetzbare Programmiersprache, die auch bei vielen grossen Programmierprojekten als die Referenzsprache angesehen wird. C nimmt allerdings seit jeher eine Sonderrolle ein. Die Palette an bisher in C umgesetzen Projekten reicht von Betriebssystemen und Office-Anwendungen bis hin zu zahlreichen wissenschaftlichen und industriellen Anwendungen. Selbst einige Compiler, die für andere Sprachen entwickelt wurden, basieren auf C.

    C hat eine grosse Verbreitung erfahren, so dass Informationsquellen im Internet, Diskussionsforen und gute Literatur schnell zu finden sind.

    Was kann C?
    Für C braucht man nur ein kleines Vokabelheft. Mit den wenigen vorhandenen Befehlen lassen sich trotzdem die komplexesten Anforderungen realisieren. Hier die 32 Vokabeln:
    char, double, enum, float, int, long, unsigned, short, signed, struct, typedef, union, void

    auto, static, register, extern

    break, case, continue, default, do, else, for, goto, if, return, sizeof, switch, while

    const, volatile


    Trotz oder gerade wegen der wenigen Befehle erreicht man in C schnell eine komplexe Tiefe, was Vor- und Nachteile haben kann. Aufgrund der abstrakten Formulierung von C ist sie relativ maschinennah und damit schnell in der Verarbeitungsgeschwindigkeit. Jedoch kann dies auch Probleme für Einsteiger machen, die versuchen, diese Sprache zu verstehen. So wird auch die Ansicht vertreten, C erst als weiterführende Sprache zu lernen und vorerst mit Programmiersprachen zu beginnen, die einen geringeren Abstraktionsgrad besitzen. Dennoch ist es nicht ausgeschlossen mit C zu beginnen. Für professionelle Programmierer aber ist C die Basis zur Realisierung von grossen, umfangreichen Programmen.

    Sicherheitsrisiko C?
    C bietet keine integrierten Mechanismen zum Überprüfen und Einhalten von Grenzen. Hier ist vor allem der Programmierer angehalten, eine entsprechende Prüfung vorzunehmen, um einen Pufferüberlauf (Buffer Overflow) zu vermeiden. Ansonsten kann es passieren, dass im harmlosesten Fall das Programm abstürzt, mit einer Speicherschutzverletzung auf sich aufmerksam macht oder im schlimmsten Fall sich die Möglichkeit ergibt, beliebigen, schadhaften Code einzuschleusen.

    Dass dies vor allem bei komplexen Programmen nicht immer leicht zu handhaben ist, zeigt sich schon allein in den stets anhaltenden Meldungen von neuen Exploits, die oftmals auf Pufferüberläufen basieren.

    Bei der Verwendung von Befehlen wie gets(), sprintf(), vprintf(), strcat(), strcpy() und scanf() sollte man dieses potentielle Fehlverhalten im Hinterkopf haben und seinen Code mit einer entsprechenden Bereichsgrenzenprüfung versehen.

    Beispiel: Test-Routine in C
    #include <stdio.h>
    main(void)
    {
    printf ("Dies ist ein Test.\n");
    }
    1 Einbinden der Headerdatei für Ein-und Ausgaben
    2 Hauptfunktion
    3 Anfang einer Anweisung
    4 Ausgabebefehl
    5 Ende der Anweisung
    Ausgabe des Textes: Dies ist ein Test

    Bericht von :
    [ CONVEX ]
    Überarbeitet von :
    -


    CHECK THIS SITE