Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Compiler Probleme Kategorie: Programmierung C (von PeterS - 8.07.2007 13:04)


Hallo,

ich habe in letzter Zeit öfter mal Beispielprogramme von Kunden bekommen, die meinten Compilerprobleme
zu haben. Dies waren zu 95% aber Probleme die in 2 klassische "C" Fehlerkategorien fallen:

1. Arrays beginnen mit 0 und nicht mit 1! Wenn man ein array

int a[10];

deklariert, darf man nur auf a[0] bis a[9] zugreifen. Schreibt man Werte in a[10], so schreibt man in eine
Variable die zufällig im Speicher hinter dem array liegt.

2. Stringvariablen brauchen eine terminierende 0 am Ende. Benutzt man ein character array fĂĽr String, so
mu� man das array immer ein Zeichen grö�er dimensionieren als die maximale Stringlänge, denn das letzte
Zeichen eines Strings ist immer die Null! Vergisst man dies, so schreibt man auf eine Variable die zufällig im
Speicher hinter dem array liegt.


Diese beiden Fehler äu�ern sich oft in der Beobachtung, das wenn man Variablen in einer anderen
Reihenfolge deklariert, der Fehler verschwindet. Dabei ist der Fehler noch da, aber man hat eine andere
Variable im Speicher ĂĽberschrieben. Diese war dann aber meist in diesem Moment nicht so wichtig,
und der Bug scheint zu verschwinden. Am Ende wird der Fehler dann dem Compiler zugeschrieben.

Diese Fehler sind wie gesagt, klassische Probleme, die seit Jahrzehnten jeden C Programmierer plagen.


Gruss Peter


    Antwort schreiben


Antworten: