Melalui Tatasusunan melalui Rujukan: Memahami Sintaks dan Fungsi
Pertimbangkan prototaip fungsi berikut:
void foo(int (&myArray)[100]);
Ini fungsi menerima tatasusunan 100 integer sebagai parameter rujukan. Walau bagaimanapun, sintaks "&myArray[100]" mungkin kelihatan mengelirukan pada pandangan pertama. Berikut ialah pecahan terperinci maknanya:
Untuk menjelaskan lebih lanjut, prototaip fungsi berikut adalah setara dan menerima tatasusunan sebarang saiz sebagai parameter rujukan:
void foo(int * x); void foo(int x[100]); void foo(int x[]);
Dalam prototaip ini, asterisk () menunjukkan penunjuk kepada elemen pertama tatasusunan. Pengkompil menganggap semua prototaip ini sebagai mengambil parameter int.
Walau bagaimanapun, apabila menggunakan sintaks rujukan:
void foo(int (&x)[100]);
fungsi hanya menerima tatasusunan tepat 100 integer. Ini bermakna anda boleh menggunakan sizeof(x) dengan selamat untuk menentukan saiz tatasusunan dalam fungsi.
Sebaliknya, sintaks berikut tidak sah:
void foo(int & x[100]);
Sintaks ini dihuraikan sebagai "susunan rujukan", yang bukan pengisytiharan undang-undang dalam C .
Atas ialah kandungan terperinci Bagaimana C Mengendalikan Rujukan Tatasusunan: Menyelam Dalam Sintaks dan Kefungsian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!