Von Matrizen und Pointern...
-
Hallo erstmal. Ich habe ein kleines Anfänger-Problemchen mit mehrdimensionalen Arrays und Zeigern...
const int a = 10; // In einer Dimension ist das ja ganz einfach char array[a]; char *p_array=array; // Auch wenn man während der Laufzeit char* p_array = new char[a]; // Wenn dann aber mehr Dimensionen dazukommen... char matrix[a][a]; char *p_matrix[a]; for(int i=0;i<a;i++) { p_matrix[i]=matrix[i]; } // ...werden meine Konstruktionen schon recht seltsam und zur Erzeugung während der Laufzeit fällt mir garnix ein.Gibt es da keine eleganteren Lösungen?
-
BloodLord schrieb:
Gibt es da keine eleganteren Lösungen?
doch, es gibt sie.
-
...wie zum Beispiel?
-
BloodLord schrieb:
...wie zum Beispiel?
Ich glaube die etwas knappe Antwort von volkard resultiert aus deiner knappen Problembeschreibung. Denn nur wenn wir wissen was _genau_ du willst, kann dir gezielt geholfen werden bzw. können dir für deine Problemstellung bessere Lösungsvorschläge genannt werden.
-
Stimmt ich habe mich wirklich ein wenig kurz gefasst. Mein Problem bestand darin, Pointer auf mehrdimensionale Arrays zu realisieren, bzw. dynamisch solche zu erstellen (mit Pointern und new). In meinem "tollen" Code oben habe ich versucht einen Pointer auf ein 2D-Array zu erstellen - mit Hilfe einer Schleife . Scheint zwar zu funktionieren, aber geht das nicht auch direkter?
Zur dynamischen Erstellung ist mir bisher noch gar nichts all zu tolles eingefallen, denn solche Sachen
char* a = new char[10][20] char* b = new char*[10]; // Ah, stimmt, so müsste es dann aber gehen char **lol = new char*[10]; for(int i=0; i<10; i++) { lol[i]=new char[10]; }Okay dann bleibt wohl nur noch die Frage ob das ganze auch ohne Schleifen geht.
-
Das geht nur, wenn du es auf ein 1D-Array abbildest.