Bolehkah Unsigned dan Const Qualifiers Digunakan dalam Argumen Fungsi utama C?
Standard C secara jelas mentakrifkan dua tandatangan yang sah untuk yang utama fungsi:
Walau bagaimanapun, persoalan timbul: bolehkah tandatangan ini diubah suai untuk memasukkan kelayakan seperti tidak ditandatangani dan const?
Analisis:
Piawaian C 98 menyatakan bahawa fungsi utama tidak boleh terlebih beban dan mesti mengembalikan integer (int) menaip. Walaupun ia tidak secara eksplisit menangani penggunaan qualifier dalam hujah, ia membenarkan pelaksanaan untuk mentakrifkan gelagat tambahan melebihi standard.
Kesimpulan:
Mengikut standard, tandatangan berikut adalah sah dan harus diterima oleh penyusun yang mematuhi:
int main(const unsigned int, const char* const* argv);
Ini kerana piawaian membenarkan tandatangan tambahan ditakrifkan oleh pelaksanaan, selagi jenis pemulangan kekal int.
Maklumat Tambahan:
Adalah penting untuk ambil perhatian bahawa walaupun piawaian C mentakrifkan dua tandatangan yang disebut sebagai sah, ia tidak memerlukan pelaksanaan untuk menyokongnya. Dalam persekitaran yang berdiri sendiri, tingkah laku permulaan dan penamatan ditentukan oleh pelaksanaan, dan piawaian mengecualikan persekitaran ini daripada sebarang keperluan selain daripada mendokumentasikan tingkah laku mereka.
Atas ialah kandungan terperinci Bolehkah anda mengubah suai hujah fungsi `utama` dengan kelayakan seperti `unsigned` dan `const` dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!