Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.

Ähnliche Präsentationen


Präsentation zum Thema: "Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger."—  Präsentation transkript:

1 Pointer, Arrays und verkettete Listen

2 Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger auf das erste Element eines Arrays von Pointern auf int32  *matrix: Zeiger auf einen int32 (im Augenblick nicht definiert) matrix *matrix

3 Mehrdimensionale Arrays  matrix[0] = new int32[2];  erstes Element des Arrays Matrix zeigt auf int32-Array mit 2 Elementen  matrix[0][0] = 42; matrix *matrix matrix[0][0]

4 Aufgabe 11: Mehrdimensionale dynamische Arrays  Erstelle eine dynamische Matrix der Größe 3 x 2  Initialisiere die Felder der Matrix mit dem Wert Zeile + Spalte  Gib die Matrix in der Konsole aus  Vergiss nicht, den Speicher wieder freizugeben! int32 **matrix = new int32*[3]; matrix[0] = new int32[2];

5 Kommandozeilenparameter int main(int argc, char *argv[])  argc – gibt die Anzahl der übergebenen Parameter an  argv – Pointer auf ein Array von Pointern, die auf ein Array vom Typ char zeigen  erster Parameter ist immer des Programmname  Kommandozeilenparameter zum debuggen Project > Projektname-Eigenschaften… Konfigurationseigenschaften > Debugging Command Arguments

6 Aufgabe 12: Ausgabe der Kommandozeilenparameter  Erstelle ein Programm, welches alle übergebenen Kommandozeilenparameter in die Konsole ausgibt Parameter 1:xxxxx Parameter 2:yyyyy …  Stelle das Projekt so ein, dass es beim Debuggen automatisch mit den Parametern 'eins' 'zwei' 'drei' aufgerufen wird.

7 Verkettete Listen  Zugriff über Vorgänger / Nachfolger der Liste  Neues Element wird erzeugt und in die Liste eingefügt  Einfaches Löschen durch „verbiegen“ der Zeiger des Vorgänger- und Nachfolgerelementes  Aber: Zugriff auf bestimmtes Element aufwändiger als beim Array Inhalt des 1. Elementes prevnext Inhalt des 2. Elementes prevnext Inhalt des 3. Elementes prevnext anchor NULL

8 Verkettete Listen über structs struct LListNode { int32 data;// represents the data LListNode *prev;// previous list element LListNode *next;// next list element };  Anker-Zeiger auf erstes Listenelement  Zugriff auf den Inhalt über Dereferenzierer ->  anchor->data; // Zugriff auf den Inhalt des ersten Elementes der Liste

9 Aufgabe 13: Verkettete Listen  Erstelle eine Funktionen zum Hinzufügen eines Elementes zur verketteten Liste (Verwende die in den vorhergehenden Folien verwendeten Elemente)  Füge eine Reihe zufälliger, ungeordneter Zahlen (z.B. das Zufallsarray aus der Aufgabe „Suche und Finde“) so in die verkettete Liste ein, dass diese sortiert ist.  Gib die verkettete Liste in die Konsole aus


Herunterladen ppt "Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger."

Ähnliche Präsentationen


Google-Anzeigen