Pointer Arrays und verkettete Listen C FR COMPUTERSPIELENTWIC

  • Slides: 9
Download presentation
Pointer, Arrays und verkettete Listen C++ FÜR COMPUTERSPIELENTWIC KLER

Pointer, Arrays und verkettete Listen C++ FÜR COMPUTERSPIELENTWIC KLER

Mehrdimensionale Arrays � Pointer auf ein Array von Pointern � int 32 **matrix =

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

Mehrdimensionale Arrays � matrix[0] = new int 32[2]; � erstes Element des Arrays Matrix

Mehrdimensionale Arrays � matrix[0] = new int 32[2]; � erstes Element des Arrays Matrix zeigt auf int 32 -Array mit 2 Elementen matrix *matrix[0][0] � matrix[0][0] = 42;

Aufgabe 11: Mehrdimensionale dynamische Arrays Erstelle eine dynamische Matrix der Größe 3 x 2

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

Kommandozeilenparameter int main(int argc, char *argv[]) argc – gibt die Anzahl der übergebenen Parameter

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

Aufgabe 12: Ausgabe der Kommandozeilenparameter � Erstelle ein Programm, welches alle übergebenen Kommandozeilenparameter in

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.

Verkettete Listen � Zugriff über Vorgänger / Nachfolger der Liste anchor Inhalt des 1.

Verkettete Listen � Zugriff über Vorgänger / Nachfolger der Liste anchor Inhalt des 1. Elementes Inhalt des 2. Elementes Inhalt des 3. Elementes prev next 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 � next NULL

Verkettete Listen über structs struct LList. Node { int 32 data; // represents the

Verkettete Listen über structs struct LList. Node { int 32 data; // represents the data LList. Node *prev; // previous list element LList. Node *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

Aufgabe 13: Verkettete Listen Erstelle eine Funktionen zum Hinzufügen eines Elementes zur verketteten Liste

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 �