Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah anda Menukar Tatasusunan 2D kepada Penunjuk-ke-Penunjuk dalam C?

Bagaimanakah anda Menukar Tatasusunan 2D kepada Penunjuk-ke-Penunjuk dalam C?

Barbara Streisand
Lepaskan: 2024-11-13 08:33:02
asal
574 orang telah melayarinya

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

Menukar Tatasusunan 2D kepada Penunjuk-ke-Penunjuk dalam C

Ramai pembangun mendapati diri mereka berada dalam situasi di mana mereka perlu menukar tatasusunan 2D kepada penuding- to-pointer dalam C . Penukaran ini tidak semudah yang kelihatan dan tiada cara langsung untuk mencapainya tanpa memperkenalkan langkah perantaraan.

Pernyataan Masalah

Diberikan susunan objek 2D:

Activity solution[a][b];
Salin selepas log masuk

Matlamatnya adalah untuk menukarnya menjadi penuding ke penuding perwakilan:

Activity **mother = solution;
Salin selepas log masuk

Penyelesaian

Penukaran mudah daripada tatasusunan 2D kepada penuding-ke-penunjuk tidak akan berfungsi kerana ketidakserasian jenis. Untuk merapatkan jurang ini, tatasusunan "indeks baris" tambahan diperlukan sebagai langkah perantaraan:

Activity *solution_rows[a] = { solution[0], solution[1], /* etc. */ };
Activity **mother = solution_rows;
Salin selepas log masuk

Kini, mengakses ibu[i][j] akan memberikan akses kepada penyelesaian[i][j]. Pendekatan ini mengekalkan semantik tatasusunan 2D sambil menyediakan perwakilan penuding ke penuding yang diperlukan.

Atas ialah kandungan terperinci Bagaimanakah anda Menukar Tatasusunan 2D kepada Penunjuk-ke-Penunjuk dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan