Pointer Arrays und verkettete Listen C FR COMPUTERSPIELENTWIC


![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](https://slidetodoc.com/presentation_image_h2/5280e393c372414b6d71e02c3b8fcf6f/image-3.jpg)

![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](https://slidetodoc.com/presentation_image_h2/5280e393c372414b6d71e02c3b8fcf6f/image-5.jpg)




- Slides: 9
Pointer, Arrays und verkettete Listen C++ FÜR COMPUTERSPIELENTWIC KLER
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 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 � 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 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 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. 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 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 (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 �