Rumah > pembangunan bahagian belakang > C++ > Adakah C Benar-Benar Subset C : Meneroka Perbezaan dan Pengecualian Utama?

Adakah C Benar-Benar Subset C : Meneroka Perbezaan dan Pengecualian Utama?

Linda Hamilton
Lepaskan: 2024-12-31 14:05:10
asal
879 orang telah melayarinya

Is C Truly a Subset of C  :  Exploring Key Differences and Exceptions?

Pengecualian kepada C Menjadi Subset C

Walaupun lazimnya dinyatakan bahawa C ialah subset C , pernyataan ini tidak tepat sepenuhnya . Perbezaan muncul apabila membandingkan versi C dan C tertentu .

Perbezaan C89 lwn. C

  • Tiada Definisi Tentatif: C tidak' t membenarkan mengisytiharkan semula pembolehubah dengan nama yang sama tanpa definisi dalam antara.
  • Keserasian Jenis Tatasusunan Berbeza: C membezakan antara tatasusunan saiz tertentu (cth., int a[1]) dan tatasusunan dengan saiz yang tidak ditentukan (cth., int (*ap)[ ]), manakala C membenarkan mereka serasi.
  • Tiada Fungsi K&R Gaya Pengisytiharan: C memerlukan sintaks yang berbeza untuk definisi fungsi, tidak membenarkan gaya K&R lama (cth., int b(a) int a; { }).
  • Perbezaan Skop Struktur Bersarang: Dalam C , struktur bersarang dianggap sebagai pengisytiharan peringkat kelas, menjadikannya tidak boleh diakses di luar lampiran struct.
  • Tiada Jenis int Lalai: Dalam C , pembolehubah auto memerlukan penentu jenis eksplisit, tidak seperti dalam C di mana int diandaikan secara lalai.

C99 vs. Perbezaan C

C99 memperkenalkan tambahan sisihan daripada keserasian C yang ketat:

  • Sekatan Dimensi Tatasusunan: C99 tidak membenarkan aksara khas tertentu dalam menentukan dimensi tatasusunan parameter fungsi.
  • Ketiadaan Pembolehubah Tatasusunan Panjang: Tatasusunan panjang boleh ubah, diisytiharkan menggunakan bukan pemalar ungkapan sebagai saiz, tidak disokong dalam C .
  • Tiada Ahli Tatasusunan Fleksibel: Ahli tatasusunan fleksibel C99, di mana saiz boleh ditentukan pada masa jalankan, tidak serasi dengan C .
  • Kurang Kelayakan Sekatan: Kelayakan Sekatan C, digunakan untuk tujuan pengoptimuman, tidak tersedia dalam C99.

Atas ialah kandungan terperinci Adakah C Benar-Benar Subset C : Meneroka Perbezaan dan Pengecualian Utama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan