Was ist der Unterschied zwischen der Punktnotation & Pfeil Notation in C?

September 21

Programmierer verwenden die Programmiersprache C für Systemsoftware und Low-Level-Code. Aus diesem Grund ist eine der Funktionen von C die Erstellung von komplexen Datenstrukturen. Diese Strukturen enthalten zusammen gesammelten Daten oft ein größeres Stück der Daten mit vielen relevanten Werten darstellt. Auf diese Werte bedeutet, mit der Struktur, wobei entweder die spezielle Notationen "Dot" und "Pfeil" (je nach Situation) verweisen.

C-Strukturen

Erstellen einen komplexer Datentyp in C umfasst das Erstellen, was als eine Struktur, die mit dem Schlüsselwort "Struct" bekannt ist. Diese Strukturen werden in der Regel enthalten zwei oder mehr Datenvariablen und repräsentieren eine kohärenten Daten geben (und nicht nur als eine Sammlung von Zufallsdaten fungiert). Beispielsweise die folgende C-Struktur stellt einen Knoten in eine größere Struktur und enthält ein Stück der Daten und einen Zeiger auf eine andere Struktur des gleichen Typs:

Struct Knoten {}

Int-Daten = 1;

Struct * Knoten weiter;

};

Zeiger

Innerhalb der "Knoten" besteht Struktur einen Zeiger auf einen anderen Knotenstruktur. Zeiger auf Strukturen sind sehr häufig, wenn Strukturvariablen an Funktionen übergeben. Sie sind auch ein Faktor bei der Entscheidung, welche Schreibweise ein Programmierer verwenden sollten, um die Strukturdaten verweisen. Zeigern erstellen einen Speicher auf einen Datentyp, anstatt eine flache Variable für den Datentyp zu erstellen. Also im folgenden Beispiel die erste Deklaration eine Variable Struktur in einen lokalen Bereich deklariert, hat bedeutet, dass es kopiert und verschoben werden. Die zweite Deklaration deklariert einen Zeiger auf eine Struktur im Speicher, die Dinge wie dynamische Speicherreservierung ermöglicht:

Struct Knoten X;

Struct * Knoten y;

Punktnotation

Die Notation benötigt Zugriff auf Daten in Strukturen hängt von der Kontext der Struktur. Wenn der Programmierer eine Strukturvariable als lokale Variable deklariert, werden sie Daten über Punktnotation zugreifen. Punktnotation verbindet einfach eine Strukturvariable und Mitglied Daten Struktur über eine Punkt-Symbol ("."). Die folgenden Beispiele zeigen, wie der Programmierer eine Variable Knoten durch Punktnotation Datenabruf aus würde:

Struct Knoten X;

Int j = x.data; j gleich jetzt einen

Pfeil-Notation

Der anderen Kontext zum Abrufen von Daten aus Strukturen ist, wenn der Programmierer einen Zeiger auf eine Struktur, anstatt eine lokale Variable kann. Wenn der Programmierer einen Zeiger auf eine Struktur erstellt, müssen zwei Dinge geschehen. Zuerst müssen sie den Zeiger Struktur deklarieren. Zweitens müssen sie Speicher zuordnen, so dass der Zeiger verweist auf Speicher mit der richtigen Größe. Anschließend können sie die Pfeil-Schreibweise ("->") um auf Daten zuzugreifen:

Struct * Knoten y;

y = Malloc (Sizeof (Struct Knoten)); reserviert Speicher auf y in der Größe einer Knoten-Struktur

Int j = y -> Daten; Ganzzahl j gleich jetzt einen