Heim >Backend-Entwicklung >C++ >Wie konvertiert man ein 2D-Array in einen Zeiger-zu-Zeiger in C?
Viele Entwickler befinden sich in einer Situation, in der sie ein 2D-Array in einen Zeiger konvertieren müssen. to-Zeiger in C . Diese Konvertierung ist nicht so einfach, wie es scheint, und es gibt keine direkte Möglichkeit, sie ohne die Einführung eines Zwischenschritts durchzuführen.
Gegeben ein 2D-Array von Objekten:
Activity solution[a][b];
Das Ziel besteht darin, ihn in einen Zeiger-zu-Zeiger umzuwandeln Darstellung:
Activity **mother = solution;
Eine einfache Konvertierung von einem 2D-Array in einen Zeiger-zu-Zeiger funktioniert aufgrund von Typinkompatibilität nicht. Um diese Lücke zu schließen, ist als Zwischenschritt ein zusätzliches „Zeilenindex“-Array erforderlich:
Activity *solution_rows[a] = { solution[0], solution[1], /* etc. */ }; Activity **mother = solution_rows;
Jetzt gewährt der Zugriff auf mother[i][j] Zugriff auf Lösung[i][j]. Dieser Ansatz behält die Semantik des 2D-Arrays bei und stellt gleichzeitig die erforderliche Zeiger-zu-Zeiger-Darstellung bereit.
Das obige ist der detaillierte Inhalt vonWie konvertiert man ein 2D-Array in einen Zeiger-zu-Zeiger in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!