Mengakses Elemen Tatasusunan One-Past-the-End dengan &array[5]
Soalan:
Adakah &array[5] dianggap sebagai ungkapan kod C yang sah yang merujuk elemen satu melepasi penghujung tatasusunan?
Jawapan:
Ya, &array[5] dianggap kod C sah mengikut Piawaian C.
Terperinci Penjelasan:
C99 Standard:
C Standard:
Berdasarkan piawaian ini, ungkapan &array[5] dinilai sebagai berikut:
Memandangkan tatasusunan 5 mata satu melepasi hujung tatasusunan dan tidak dinyahrujuk, &array[5] adalah sah ungkapan.
Perbandingan dengan Piawaian C:
Piawaian C sepadan dengan piawaian C dalam hal ini.
Sebab Merawatnya Secara Berbeza dari array 5 atau &array[4] 1:
Perbezaan utama antara &array[5] dan ungkapan seperti array 5 atau &array[4] 1 ialah penggunaan yang dimaksudkan. Walaupun tatasusunan 5 dan &tatasusunan[4] 1 secara eksplisit melaksanakan aritmetik penuding untuk mendapatkan penuding yang diimbangi dari permulaan tatasusunan, &array[5] menggunakan pengendali [] untuk mengakses terus elemen pada ofset itu. Perbezaan ini membolehkan pengaturcara lebih mudah merujuk hujung tatasusunan tanpa perlu melakukan aritmetik penuding eksplisit.
Atas ialah kandungan terperinci Adakah &array[5] Ungkapan C yang Sah untuk Mengakses Elemen Tatasusunan Satu-Past-the-End?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!