Rumah >pembangunan bahagian belakang >C++ >Mengapakah Nama Fungsi Digunakan sebagai Penunjuk Fungsi dalam C?
Nama Fungsi sebagai Penunjuk Fungsi: Rasional Reka Bentuk
Dalam C, menggunakan nama fungsi sebagai penunjuk fungsi adalah bersamaan dengan menggunakan alamat- operator kepada nama fungsi. Tingkah laku ini mungkin kelihatan tidak konsisten dengan bahagian lain dalam bahasa dan menimbulkan persoalan tentang rasional reka bentuknya.
Dokumen Rasional ANSI C90 memberikan cerapan tentang keputusan reka bentuk ini:
(&f)(); // Explicit address-of operator f(); // Implicit conversion to function pointer (*f)(); // Deference of a function pointer (**f)(); // Deference twice (***f)(); // Deference three times
Mengenai ketiadaan penukaran tersirat daripada jenis fungsi kepada jenis penunjuk dalam konteks pulangan, penjelasannya terletak pada konsep " hiasan jenis pulangan." Dalam C, jenis pengembalian fungsi adalah sebahagian daripada tandatangan fungsi dan tidak boleh diubah suai. Oleh itu, fungsi tidak boleh secara tersirat mengembalikan penuding kepada dirinya sendiri.
Atas ialah kandungan terperinci Mengapakah Nama Fungsi Digunakan sebagai Penunjuk Fungsi dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!