Penderujukan Penunjuk Fungsi: Membongkar Misteri
Bertentangan dengan andaian bahawa penyahrujukan penunjuk fungsi tidak mencapai apa-apa, ia memulakan tingkah laku unik dalam C . Penunjuk fungsi tidak dinyahrujuk dalam erti kata konvensional untuk mengakses memori data sebagai kod ingatan.
Sebaliknya, membatalkan penuding fungsi dalam konteks nilai (seperti dalam contoh kod yang disediakan) mencetuskan penukaran segeranya kepada penuding kepada fungsi asal. Anehnya, penyahrujukan seterusnya bagi penuding ini mendapatkan semula nilai fungsi yang sama, yang kemudiannya ditukarkan kembali dengan segera kepada penuding. Kitaran ini boleh diulang selama-lamanya.
Tingkah laku ini menjadi jelas terutamanya apabila memeriksa penunjuk fungsi dalam konteks nilai (cth., sebelah kiri tugasan). Tidak seperti tatasusunan, yang menukar kepada penunjuk elemen, nilai fungsi ditukar kepada penunjuk kepada jenisnya sendiri. Oleh itu, penyahrujukan penuding fungsi dalam konteks lnilai memberikan fungsi baharu kepada penuding.
Rasional di sebalik penukaran tersirat nilai fungsi kepada penuding adalah praktikal semata-mata. Untuk pengaturcara yang menggunakan penunjuk fungsi, ia menghapuskan keperluan menulis & secara meluas. Sebaliknya, penunjuk fungsi dalam kedudukan panggilan secara automatik kembali kepada nilai fungsi, mengelakkan penggunaan * untuk memanggilnya.
Atas ialah kandungan terperinci Apa yang Berlaku Apabila Anda Menyahrujuk Penunjuk Fungsi dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!