Frage

Siehe: Legendes Pointers


In vielen C aromatisiert Sprachen, und einige ältere Sprachen wie Fortran, kann man mit Pointers .

Als jemand, der in Basic, Javascript, nur wirklich programmiert hat, und Actionscript können Sie mir erklären, was ein Zeiger ist, und was es ist, am meisten geeignet?

Danke!

War es hilfreich?

Lösung

Zeiger sind nicht so schwer, wie sie klingen. Wie andere schon gesagt haben, sie sind Variablen, die die Adresse einer anderen Variablen halten. Angenommen, ich wollte Ihnen Richtungen zu mir nach Hause geben. Ich würde dir kein Bild von meinem Hause geben, oder ein maßstabsgetreues Modell meines Hauses; Ich würde Sie nur die Adresse geben. Man könnte folgern, was Sie aus, dass benötigt wird.

In der gleichen Weise, viele Sprachen machen den Unterschied zwischen wert vorbei und durch Verweis übergeben. Im Wesentlichen bedeutet dies, werde ich um mich darauf verweisen muß jedes Mal ein ganzes Objekt übergeben? Oder ich gebe es nur die Adresse, so dass andere ableiten, was sie brauchen?

Die meisten modernen Sprachen verstecken diese Komplexität durch herauszufinden, wann Zeiger nützlich sind und optimieren, dass für Sie. Allerdings, wenn Sie wissen, was Sie tun, manuelle Zeiger Management kann immer noch in einigen Situationen nützlich sein.

Andere Tipps

Dieser wikipedia Artikel gibt Ihnen detaillierte Informationen darüber, was ein Zeiger ist:

  

In der Informatik, ein Zeiger ist eine Programmiersprache, Datentyp, dessen Wert bezieht sich direkt auf (oder „Punkte“) ein anderer Wert an anderer Stelle in dem Computerspeicher gespeichert ist seine Adresse. Erhalt oder den Wert anfordert, zu dem ein Zeiger genannt, bezieht sich der Zeiger zu dereferenzieren. Ein Zeiger ist eine einfache Implementierung der allgemeinen Datentypreferenz (obwohl es ganz anders als die Einrichtung ist als Referenz in C ++ bezeichnet). Zeiger auf Daten Leistung für sich wiederholende Vorgänge verbessern, wie String und Baumstrukturen durchqueren, und Zeiger auf Funktionen sind für die Bindung von Methoden in der objektorientierten Programmierung und Laufzeit Verknüpfung mit Dynamic Link Libraries (DLLs).

verwendet

Ein Zeiger ist eine Variable, die die Adresse einer anderen Variablen enthält. Auf diese Weise können Sie eine weitere Variable indirekt verweisen. Zum Beispiel in C:

// x is an integer variable
int x = 5;
// xpointer is a variable that references (points to) integer variables
int *xpointer;
// We store the address (& operator) of x into xpointer.
xpointer = &x;
// We use the dereferencing operator (*) to say that we want to work with
// the variable that xpointer references
*xpointer = 7;
if (5 == x) {
    // Not true
} else if (7 == x) {
    // True since we used xpointer to modify x
}

Es wurden mehrere Diskussionen über dieses Thema in SO. Sie können unter den Links Informationen zum Thema finden. Es gibt mehrere andere relevante SO Diskussionen zu diesem Thema, aber ich denke, dass diese die wichtigsten waren. Suche nach ‚Zeigern [C ++]‘ im Suchfenster (oder ‚Zeiger [c]‘), und Sie werden auch weitere Informationen.

In C ++ Ich kann nicht fassen Pointers und Klassen

Was ist der Unterschied zwischen dem modernen ‚Referenzen‘ und traditionelle 'Pointers'?

Als jemand bereits erwähnt, ein Zeiger ist eine Variable, die die Adresse einer anderen Variablen enthalten.

Es wird meist verwendet, wenn neue Objekte erstellen (in der Laufzeit).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top