Was ist der Nachteil der Verwendung von Zeigern in C?

Der einzige Nachteil ich weiß, ist, dass wenn Sie einen Fehler beim Umgang mit Zeigern machen es kann sogar zum Absturz des Systems führen ....
 
sundarmeenakshi treten die heimtückische Fehler mit nicht initialisierten Zeigern. Angenommen, ein Zeiger hat einen zufälligen Wert. Sie Daten speichern und abrufen mit dem Mauszeiger. 1) * Zeiger = x. 2) x = * Zeiger. Dies funktioniert gut, solange die (zufällig) Adresse des Zeigers dargestellt wird zu keinem anderen Zweck verwendet werden. Wenn die Adresse für etwas anderes verwendet wird, dann, dass die Daten (oder Anweisung) an der Stelle, die durch den Zeiger dargestellt wird durch die Ausführung der Anweisung 1 oben zerstört werden. Nun, hier kommt der spaßige Teil: Angenommen, Sie legen eine printf-Anweisung, um zu versuchen, das Problem zu beheben. Nach Neukompilierung, wird das zufällige Adresse des Zeigers dargestellt verwendet werden, um ein weiteres Stück von Daten oder Anweisungen zu halten, und das ursprüngliche Problem verschwindet, nur um irgendwo anders wieder auftauchen in Ihrem Programm. . Die Verwendung von Zeigern requries Disziplin. Die Regel Nummer eins ist "aways initialisiert Zeiger". Wenn Sie Glück haben, wird Ihr Compiler initialisiert den Zeiger Wert auf null (null), die in einem Laufzeitfehler in den meisten Umgebungen führen wird. Regards, Kral
 
Thier würde Nachteile der Zeiger sein, wenn Sie nicht die Handhabung sind sie richtig. Und in einigen Fällen möglicherweise nicht leichter zu debuggen.
 
sie sind einfach zu verstehen, aber nicht richtig zu nutzen. Wenn Sie geben eine Struktur in eine Funktionsparameter und wenn das struct ist groß, mit einem Zeiger Sie weniger Speicher für das Programm benutzen will, läuft es schneller. Das gleiche geschieht mit Arrays. Ich denke, Zeiger sind für einen Programmierer, weil Geschwindigkeit und Größe wichtig.
 
Zeiger sind sehr mächtig sodass Sie schnellen und effizienten Code zu schreiben. Sie sind eine der Stärken der C-Sprache. C-Code ohne Zeiger ist wie Bier ohne alcahol, viel Körper, aber ohne Pep. Es gibt keine Nachteile, Zeiger in C.
 
Ich rate btbass eine durch Blick auf alles, was Buch, das er studiert nehmen .... wenn ein Zeiger nicht richtig intialised oder richtig behandelt kann man sicher sein, dass etwas Schlimmes ur PC passieren .... ein Programm sein soll unter allen Umständen sichere ....
 
wenn Zeiger hat begonnen weisenden System reservierten Speicher dann kann es zu sytem Instabilität. wie Fenster hat einen bestimmten Bereich im RAM für OS reserviert, wenn ein Zeiger macht cahnges in diesem Bereich, dann wird es ein Virus, wie Betrieb sein. wie einige lustige Dinge, die unsere CD-ROM zu öffnen, das ist nur durch den Zugriff auf diesen Bereich
 
Es ist genauso einfach zu vermasseln jeden Aspekt eines Programms, mit unintialised Variablen, Mischen und ohne Vorzeichen Ganzzahlen nicht fangen Ausnahmen sind Zeiger nicht leichter zu vermasseln als jede andere Funktion. Pointers Ihnen helfen, elegant effizienten Code zu schreiben. Wenn ich ein Programm für einen PC zu schreiben, verwende ich c #, eine moderne Programmiersprache, die einen großen Teil der Versäumnisse, die leicht zu übersehen sind überwindet. Aber viele der Programmierung beinhaltet 8 bit micros und C ist König für diese Art der Anwendung. Ich benutze auch die statische Analyse von meinem Code mit Fusseln. Lint finden Sie alle Arten von obskuren Bugs. Wenn Ihr Code wegen der nicht initialisierten Zeigern abstürzt, ist das nicht die Schuld des C! Aber Ihr Mangel an geeigneten Tests. Mit Zeigern gefördert werden sollte, geben sie c der Kante.
 
Sie müssen auch sicherstellen, dass Sie Referenz-und Dereferenzierung sie propoerly, sonst werden Sie unter der Adresse anstelle der Daten.
 

Welcome to EDABoard.com

Sponsor

Back
Top