Dalam C , tatasusunan dihantar melalui rujukan secara lalai. Walau bagaimanapun, sintaks untuk berbuat demikian boleh mengelirukan bagi sesetengah pengaturcara.
Menggunakan sintaks:
void foo(double& *bar)
untuk menghantar tatasusunan melalui rujukan tidak dibenarkan dalam C . Sebaliknya, gunakan sintaks ini:
void foo(double (&bar)[10]) { }
Ini menghalang kemungkinan ralat dengan mengehadkan saiz tatasusunan menjadi tepat 10.
Untuk menghantar tatasusunan saiz arbitrari melalui rujukan, gunakan fungsi templat yang menangkap saiz pada masa penyusunan:
template<typename T, size_t N> void foo(T (&bar)[N]) { // Size of bar is N }
Untuk kebolehbacaan dan kefungsian kod yang lebih baik, pertimbangkan untuk menggunakan std::vector atau std::array bukannya tatasusunan mentah.
Atas ialah kandungan terperinci Bagaimanakah Saya Meluluskan Tatasusunan dengan Rujukan dengan Betul dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!