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!