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
834 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!

sumber:php.cn
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