Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Argumen `utama` dalam C Diubah Suai dengan `tidak ditandatangani` dan `const`?

Bolehkah Argumen `utama` dalam C Diubah Suai dengan `tidak ditandatangani` dan `const`?

Patricia Arquette
Patricia Arquetteasal
2024-10-28 19:51:02471semak imbas

Can `main` Arguments in C   Be Modified with `unsigned` and `const`?

Menyesuaikan Argumen utama dalam C

Tandatangan lalai untuk utama dalam C terkenal: int main() dan int main (int, char*[]). Walau bagaimanapun, timbul persoalan:

Bolehkah hujah utama diubah suai dengan kelayakan seperti tidak ditandatangani dan const?

Ujian saya menunjukkan ya, tetapi kebimbangan kekal tentang potensi beban berlebihan atau pelanggaran Piawaian C.

Menurut piawaian C 98 (bahagian 3.6.1 perenggan 2), beban utama adalah dilarang. Piawaian secara eksplisit menyatakan bahawa main mesti mempunyai jenis pengembalian int, tetapi aspek lain ditentukan oleh pelaksanaan.

Terutamanya, piawaian tidak melarang penggunaan hujah dengan pelayakkan seperti unsigned dan const. Walaupun ia tidak dimandatkan oleh piawai, ia dibenarkan untuk pelaksanaan menerima pengubahsuaian ini.

Persekitaran berdiri bebas, di mana gelagat permulaan dan penamatan ditakrifkan pelaksanaan, dikecualikan daripada peraturan ini dan dokumentasi mungkin memperincikan gelagat tertentu.

Atas ialah kandungan terperinci Bolehkah Argumen `utama` dalam C Diubah Suai dengan `tidak ditandatangani` dan `const`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn