Melalui dan Mengembalikan Tatasusunan dalam Fungsi
Apabila menghantar tatasusunan kepada fungsi sebagai hujah, ia boleh dianggap secara tersirat sebagai penunjuk kepada permulaan blok memori tatasusunan. Ini bermakna fungsi itu boleh mengakses dan memanipulasi elemen tatasusunan secara terus. Walau bagaimanapun, apabila cuba mengembalikan tatasusunan daripada fungsi, pendekatan yang berbeza diperlukan.
Mengembalikan Tatasusunan
Untuk mengembalikan tatasusunan daripada fungsi, anda sebenarnya kembali penunjuk kepada elemen pertama tatasusunan. Berikut ialah contoh:
int* fillArr(int arr[]) { // Do some operations on the array return arr; // Returns a pointer to the first element of arr }
Menggunakan Tatasusunan Dikembalikan
Selepas anda mengembalikan penuding kepada tatasusunan, anda boleh menggunakannya dalam kod anda sama seperti tatasusunan biasa . Contohnya:
int main() { int y[10]; int *a = fillArr(y); // Call the function and store the returned pointer cout << a[0] << endl; // Access the first element of the array through the pointer }
Dalam contoh ini, fungsi fillArr mengembalikan penunjuk kepada elemen pertama tatasusunan y, yang disimpan dalam penuding. Anda kemudiannya boleh mengakses elemen tatasusunan melalui penuding ini.
Penukaran Tersirat daripada Tatasusunan kepada Penunjuk
Perlu diperhatikan bahawa dalam contoh di atas, kami telah menggunakan sintaks berikut untuk hujah fungsi:
int* fillArr(int arr[])
Walau bagaimanapun, ini adalah setara dari segi fungsi kepada:
int* fillArr(int *arr)
Ini kerana pembolehubah tatasusunan boleh ditukar secara tersirat kepada penuding kepada elemen pertamanya. Oleh itu, anda boleh menghantar dan mengembalikan tatasusunan menggunakan sama ada sintaks.
Atas ialah kandungan terperinci Bagaimanakah Saya Melepasi dan Mengembalikan Tatasusunan dalam Fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!