"Writing in C oder C + + ist wie Laufen eine Motorsäge mit allen Schutzvorrichtungen entfernt ", ist ein Zitat zugeschrieben Autor Bob Gray. Während C ist nicht ganz so gefährlich wie Mr. Gray schon sagt, ist es eine mächtige Sprache , die dem Programmierer Low-Level- Zugriff auf die Programmier-Umgebung bietet, ohne viele Einschränkungen . Die Autoren von C , Brian Kernighan und Dennis Ritchie , sagen wir, "C behält die Grundphilosophie , dass Programmierer wissen , was sie tun , es erfordert nur, dass sie ihre Absichten erklären ausdrücklich . " Es ist die Angabe explizit , die oft Ursachen Programmierer Schwierigkeiten. Anleitung
1
Begin Arrayfeldindizes mit einer Null in C. Viele Programmierer beginnen Zugriff auf ein Array mit array_variable [1], das ist eigentlich das zweite Element des Arrays. Das erste Element ist array_variable [0]. In die gleiche Richtung , die gleichen Programmierer greift dann ein Element über das Ende des Arrays. Für ein Array mit 10 Elementen , reichen die Indizes von 0 bis 9 , nicht 1 bis 10 . Zugriff auf Index -Nummer 10 ist Zugriff auf das elfte Element des Arrays , die es nicht gibt . Ungewollt Zugriff auf Speicher außerhalb des festgelegten Variablen kann ein Programm abnormal beendet - . Nie eine gute Sache
2
initialisieren Variablen , bevor Sie sie . Ein häufiger Fehler in C -Programmierung ist eine Variable vor der Lagerung etwas in der Variablen, die besonders lästig ist, wenn man mit Zeigern verwenden . Zum Beispiel, wenn Sie die Summe einer Reihe von Zahlen, die vom Benutzer eingegeben wollen , achten Sie darauf, initialisieren die Summe variable bei Null beginnen. Während konstant und globale Variablen standardmäßig auf Null , für andere Variablen nicht .
3
Verwendung symbolischer Konstanten oder Variablen konstant um Zufallszahlen in den Körper Ihres Programms zu vermeiden. Zum Beispiel, wenn die Verarbeitung einen 15 -Array , eine symbolische Konstante für die Größe des Array , anstatt die 15 in den Körper einer for-Schleife . Wenn Sie die Größe Ihres Arrays ändern, müssen Sie nur die symbolische Konstante ändern. Dies vermeidet die C-Programmierung Fehler der Erhöhung der Größe eines Arrays aber zu vergessen, all die Elemente wegen einer Konstante in der for-Schleife zu verarbeiten.
4
vergleichen Werte mit einem in C == = Symbol für Zuweisungen nicht Vergleiche verwendet und ist eine knifflige Fehler in einem Programm zu finden. Eine if-Anweisung, um zu sehen, wenn ein Nenner ist , bevor Sie eine Teilung Null prüft sollte wie folgt aussehen :
if ( Nenner == 0) printf (" Fehler - kann nicht durch Null teilen \\ n");
die Aussage :
if ( Nenner = 0) printf (" Fehler - kann nicht durch Null teilen \\ n");
setzt den Nenner Variable auf Null ist, dann schlägt die , wenn überprüfen, da Zuweisungen über den Wert dessen, was zugeordnet ist, in diesem Fall null zu nehmen. Sie haben jetzt das Problem, das Sie für aufgegebenes erstellt ; Nenner Null ist , weil Sie es auf Null gesetzt
.