Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Repetitorium PG1 05.09. - 09.09.2005 5: Pointer FH-Darmstadt, FB Informatik.

Ähnliche Präsentationen


Präsentation zum Thema: "Repetitorium PG1 05.09. - 09.09.2005 5: Pointer FH-Darmstadt, FB Informatik."—  Präsentation transkript:

1 Repetitorium PG : Pointer FH-Darmstadt, FB Informatik

2 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß2/10 Übersicht Pointer Operatoren this new

3 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß3/10 Zeigervariable (pointer) werden zur indirekten Adressierung benutzt werden in C++ so definiert: int IZahl = 5, IZahl1; int *ZeigerI; ZeigerI = &IZahl; int * ZeigerI1 = &IZahl1; enthalten Adressen eines Objekts anstelle des Objekts selbst

4 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß4/10 Zeigervariable (pointer) haben einen –Namen –Typ –Speicherplatz können den Wert des Objekts, auf das sie zeigen, lesen können den Wert des Objekts, auf das sie zeigen, ändern können zur Laufzeit neue Adressen zugewiesen bekommen, um auf andere Objekte zu zeigen

5 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß5/10 Pointer bekommen zur Compile-Zeit nur Speicher für eine Objektadresse, aber nicht den Speicher für das Objekt selbst zugewiesen. Sie werden vom C++ Compiler nicht initialisiert. u. U. nicht reproduzierbare Fehler Schadensbegrenzung double *ZeigerD = 0; double *ZeigerD(0); –`0´ zeigt an, dass sich ein Zeiger noch nicht oder nicht mehr auf ein definiertes Objekt zeigt. wenigstens reproduzierbare Abstürze guter Programmierstil

6 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß6/10 *,& und Operatoren Adreßoperator (&) und Dereferenzierungsoperator (*) sind zueinander invers Für Zeiger sind folgende Operatoren definiert ++, +, +=, [ ],, >=

7 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß7/10

8 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß8/10 Anwendung von Zeigern Call by reference –Ersatz für Referenzparameter in Parameterlisten von Funktionen/Methoden Indirektion –Zugriff auf Objekte und deren Memberfunktionen über Zeiger ist einSchlüsselkonzept von C++

9 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß9/10 Anwendung von Zeigern Kommandozeilenparameter –void main ( int argc, char *argv[ ]) {…} this-Zeiger in Klassen Zugriff auf dynamische Datenstrukturen mit Zeigern und new-Operator –Besser ist es, wenn man den Speicher erst zur Laufzeit, entsprechend dem tatsächlichen Bedarf anfordern (allokieren) kann. Aufruf von Memberfunktionen über -> Operator

10 Rep. PG1 – Kap. 5: PointerDipl. Inf. (FH) Michael Krauß10/10 new ? Mit dem new-Operator werden die Objekte nicht auf dem Stack angelegt, sondern auf dem Heap-Space! gewünscht


Herunterladen ppt "Repetitorium PG1 05.09. - 09.09.2005 5: Pointer FH-Darmstadt, FB Informatik."

Ähnliche Präsentationen


Google-Anzeigen