Dalam C , apabila tatasusunan merosot kepada penuding, mengambil saiz tatasusunan daripada penuding boleh mencabar.
Mencari saiz tatasusunan yang diluluskan sebagai penunjuk memerlukan tambahan maklumat, kerana penunjuk itu sendiri tidak mengandungi data ini.
Untuk menyelesaikan isu ini, dua pendekatan tersedia:
Melepasi Maklumat Saiz sebagai Hujah: Hantar saiz tatasusunan sebagai parameter tambahan kepada fungsi. Contohnya:
func(int* array, size_t arraySize);
Menggunakan Sintaks Tatasusunan: Jika saiz tatasusunan diketahui terlebih dahulu, menghantarnya sebagai tatasusunan bersaiz tetap mencapai kesan yang sama:
func(int array[5]);
The peraturan pereputan penunjuk membenarkan tatasusunan berkelakuan seperti penunjuk, tetapi ini tidak membayangkan bahawa ia sememangnya penunjuk. Ia hanya mereput kepada penunjuk apabila diluluskan sebagai argumen fungsi.
Untuk menentukan saiz tatasusunan daripada penunjuk, maklumat saiz tambahan mesti disediakan. Ini boleh dicapai dengan menghantar saiz secara eksplisit sebagai hujah atau menggunakan sintaks tatasusunan, yang merangkumi maklumat saiz dalam pengisytiharan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Saiz Tatasusunan yang Dilalui sebagai Penunjuk dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!