Heim > Backend-Entwicklung > C++ > Wie unterscheidet sich C in Bezug auf Kompilierung und Syntax geringfügig von C?

Wie unterscheidet sich C in Bezug auf Kompilierung und Syntax geringfügig von C?

Susan Sarandon
Freigeben: 2024-12-17 04:54:25
Original
534 Leute haben es durchsucht

How Does C Differ Subtly from C   in Terms of Compilation and Syntax?

Die subtilen Abweichungen von C von C

Während allgemein angenommen wird, dass C eine Teilmenge von C ist, offenbart eine genauere Betrachtung subtile Unterschiede. Hier sind einige Fälle, in denen Code, der in C kompiliert wird, in C auf Hindernisse stößt:

Keine vorläufigen Definitionen

In C ist das Neudefinieren von Variablen illegal, anders als in C, wo vorläufige Definitionen gelten Definitionen ermöglichen spätere Neudefinitionen.

Array-Typ Inkompatibilität

C unterscheidet zwischen Array-Typen mit und ohne Größen, wodurch int[] und int[N] inkompatibel sind. C erlaubt jedoch die austauschbare Verwendung.

K&R-Funktionssyntax

C verbietet den K&R-Stil der Funktionsdefinition, bei dem die Funktionsparameterliste direkt auf den Rückgabetyp folgt .

Verschachtelter Strukturbereich

C definiert verschachtelt Strukturen haben einen Klassenbereich, während C sich an das frühere Verhalten des lokalen Bereichs hält.

Standard int

In C ist die Verwendung von „auto“ ohne einen expliziten Typbezeichner sinnvoll ungültig, anders als in C, wo standardmäßig int.

Zusätzliches C99 Inkompatibilitäten

C99 führte zu weiteren Diskrepanzen:

Array-Dimensionsspezifizierer

C verbietet Deklarationsspezifizierer in Array-Dimensionen von Funktionsparametern, was zulässig ist in C.

Variable Länge Arrays

C lässt die Unterstützung für Arrays variabler Länge aus, während C dies zulässt, indem Arrays mit nicht konstanten Größen deklariert werden.

Flexible Array-Mitglieder

C fehlt flexible Array-Mitglieder innerhalb von Strukturen, eine Funktion, die in vorhanden ist C.

Restrict Qualifier

C führt den Restrict Qualifier ein, um die Aliasing-Analyse zu unterstützen, aber er wird in C. nicht unterstützt.

Das obige ist der detaillierte Inhalt vonWie unterscheidet sich C in Bezug auf Kompilierung und Syntax geringfügig von C?. 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