Mengembalikan tatasusunan 2D dalam C
Mengembalikan tatasusunan 2D daripada fungsi dalam C boleh menjadi tugas yang sukar. Satu pendekatan, seperti yang ditunjukkan oleh kod yang disediakan, cuba mengembalikan tatasusunan 2D menggunakan kod yang ditunjukkan di bawah tetapi pendekatan ini tidak sesuai.
int **MakeGridOfCounts() { int cGrid[6][6] = {{0, }, {0, }, {0, }, {0, }, {0, }, {0, }}; return cGrid; }
Sebaliknya, pendekatan yang berdaya maju melibatkan mencipta dan mengembalikan penunjuk ke Tatasusunan 2D menggunakan peruntukan memori dinamik. Mari kita terokai cara ini dilakukan dengan contoh kod yang dipertingkatkan:
#include <cstdio> int** create2DArray(unsigned height, unsigned width) { .... }
Buat Tatasusunan 2D ( create2DArray() ):
int** array2D = new int*[height]; for (int h = 0; h < height; h++) { array2D[h] = new int[width]; . . . }
Kembalikan Array (create2DArray() ):
Bersihkan Memori (utama() ):
for (int h = 0; h < height; h++) { delete [] array2D[h]; } delete [] array2D;
Pendekatan ini memastikan pengurusan memori yang betul dan menyediakan cara untuk mengembalikan a Tatasusunan 2D daripada fungsi dalam C .
Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Tatasusunan 2D dengan betul daripada Fungsi C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!