Heim > Backend-Entwicklung > C++ > Ist C wirklich eine Teilmenge von C: Erforschung wichtiger Unterschiede und Ausnahmen?

Ist C wirklich eine Teilmenge von C: Erforschung wichtiger Unterschiede und Ausnahmen?

Linda Hamilton
Freigeben: 2024-12-31 14:05:10
Original
834 Leute haben es durchsucht

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

Ausnahmen davon, dass C eine Teilmenge von C ist

Während allgemein behauptet wird, dass C eine Teilmenge von C ist, ist diese Behauptung nicht ganz korrekt . Beim Vergleich bestimmter Versionen von C und C treten Unterschiede auf.

Unterschiede zwischen C89 und C

  • Keine vorläufigen Definitionen: C nicht Es ist nicht möglich, Variablen mit demselben Namen ohne Definition erneut zu deklarieren zwischen.
  • Kompatibilität verschiedener Array-Typen: C unterscheidet zwischen Arrays einer bestimmten Größe (z. B. int a[1]) und Arrays mit nicht spezifizierter Größe (z. B. int (*ap)[ ]), während C ihre Kompatibilität zulässt.
  • Kein K&R-Funktionsdeklarationsstil: C erfordert eine andere Syntax für Funktionsdefinitionen, wodurch der alte K&R-Stil nicht zulässig ist (z. B. int b(a) int a; { }).
  • Unterschiede zwischen verschachtelten Strukturbereichen: In C , a Eine verschachtelte Struktur wird als Deklaration auf Klassenebene behandelt, sodass außerhalb der umschließenden Struktur nicht auf sie zugegriffen werden kann struct.
  • Kein standardmäßiger int-Typ: In C erfordern automatische Variablen explizite Typspezifizierer, anders als in C, wo int standardmäßig angenommen wird.

Unterschiede zwischen C99 und C

C99 führt zusätzliche Abweichungen vom strengen C ein Kompatibilität:

  • Array-Dimensionseinschränkungen: C99 verbietet bestimmte Sonderzeichen bei der Angabe von Array-Dimensionen von Funktionsparametern.
  • Fehlen von Arrays mit variabler Länge: Arrays variabler Länge, die mit nicht konstanten Ausdrücken als Größen deklariert werden, werden in C nicht unterstützt .
  • Keine flexiblen Array-Mitglieder:Die flexiblen Array-Mitglieder von C99, bei denen die Größe zur Laufzeit angegeben werden kann, sind nicht mit C kompatibel.
  • Fehlende Einschränkungsqualifizierer: Der Einschränkungsqualifizierer von C, der zu Optimierungszwecken verwendet wird, ist in C99 nicht verfügbar.

Das obige ist der detaillierte Inhalt vonIst C wirklich eine Teilmenge von C: Erforschung wichtiger Unterschiede und Ausnahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage