Heim > Backend-Entwicklung > C++ > Hauptteil

Wie konvertiere ich ein 2D-Array in einen Zeiger-zu-Zeiger in C?

Linda Hamilton
Freigeben: 2024-11-12 10:07:01
Original
787 Leute haben es durchsucht

How to Convert a 2D Array to a Pointer-to-Pointer in C  ?

Konvertieren eines 2D-Arrays in einen Zeiger-zu-Zeiger

Stellen Sie sich das folgende Szenario vor:

Activity solution[a][b];
// ...
Activity **mother = solution;
Nach dem Login kopieren

In In diesem Fall möchten Sie möglicherweise ein 2D-Objektarray in einen Zeiger-zu-Zeiger konvertieren. Eine direkte Konvertierung ist jedoch aufgrund der Inkompatibilität der Typen nicht möglich.

Einführung eines Zwischenarrays

Um die Lücke zu schließen, führen Sie ein Zwischenarray „Zeilenindex“ ein:

Activity solution[a][b];

Activity *solution_rows[a] = { solution[0], solution[1] /* and so on */ };

Activity **mother = solution_rows;
Nach dem Login kopieren

Dadurch können Sie auf folgende Weise auf Elemente zugreifen:

mother[i][j] = solution[i][j]
Nach dem Login kopieren

Die Konvertierung verstehen

Lösung[i] ist eine Zeiger auf die i-te Zeile des 2D-Arrays. Solution_rows ist ein Array dieser Zeilenzeiger. Daher entspricht „solution_rows[i]“ „solution[i]“.

Wenn Sie „solution_rows“ der Mutter zuweisen, erstellen Sie effektiv einen Zeiger-zu-Zeiger, der auf die ersten Elemente jeder Zeile in der Lösung zeigt.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich 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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage