Rumah >pembangunan bahagian belakang >C++ >Bagaimana Saya Melepasi Tatasusunan dengan Rujukan dalam C?
Melalui Tatasusunan melalui Rujukan
Apabila menghantar tatasusunan kepada fungsi, adalah penting untuk mempertimbangkan sama ada anda mahu menghantar tatasusunan mengikut nilai atau dengan rujukan. Melepasi nilai menghasilkan salinan tatasusunan, manakala lulus melalui rujukan membenarkan fungsi mengubah suai tatasusunan asal.
Melalui Tatasusunan melalui Sintaks Rujukan
Untuk menghantar tatasusunan dengan rujukan, kami menggunakan sintaks berikut:
void foo(int (&myArray)[100]);
Dalam sintaks ini, myArray ialah merujuk kepada tatasusunan 100 integer. Ini bermakna bahawa sebarang perubahan yang dibuat pada myArray dalam fungsi foo() akan dicerminkan dalam tatasusunan asal.
Asingkan Kurungan dan Kurung Besar
Kurungan berasingan diikuti dengan kurungan besar (&myArray)[100] berfungsi dua tujuan:
Pengisytiharan Tatasusunan Alternatif
Perlu diperhatikan bahawa pengisytiharan berikut semuanya setara:
void foo(int * x); void foo(int x[100]); void foo(int x[]);
Walau bagaimanapun, pengisytiharan berikut ialah berbeza:
void foo(int (&x)[100]);
Pengisytiharan ini hanya menerima tatasusunan 100 integer, dan kami boleh menggunakan sizeof pada x dengan selamat.
Pengisytiharan Tidak Sah
The pengisytiharan berikut adalah tidak sah:
void foo(int & x[100]); // error
Ini dihuraikan sebagai "tatasusunan rujukan," yang bukan jenis data yang sah dalam C .
Atas ialah kandungan terperinci Bagaimana Saya Melepasi Tatasusunan dengan Rujukan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!