Maison > développement back-end > C++ > En quoi C diffère-t-il subtilement de C en termes de compilation et de syntaxe ?

En quoi C diffère-t-il subtilement de C en termes de compilation et de syntaxe ?

Susan Sarandon
Libérer: 2024-12-17 04:54:25
original
537 Les gens l'ont consulté

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

Les écarts subtils de C par rapport à C

Bien qu'il soit largement admis que C est un sous-ensemble de C, un examen plus approfondi révèle des différences subtiles. Voici quelques cas où le code compilé en C rencontre des obstacles en C :

Aucune définition provisoire

En C, la redéfinition des variables est illégale, contrairement à C, où la les définitions permettent des redéfinitions ultérieures.

Type de tableau Incompatibilité

C fait la distinction entre les types de tableaux avec et sans tailles, rendant int[] et int[N] incompatibles. C, cependant, permet de les utiliser de manière interchangeable.

Syntaxe de la fonction K&R

C interdit le style K&R de définition de fonction où la liste des paramètres de fonction suit directement le type de retour .

Nested Struct Scope

C définit les structures imbriquées pour avoir une portée de classe, tandis que C adhère au comportement antérieur de la portée locale.

Default int

En C , en utilisant "auto" sans spécificateur de type explicite n'est pas valide, contrairement à C, où la valeur par défaut est int.

C99 supplémentaire Incompatibilités

C99 a introduit d'autres divergences :

Spécificateurs de dimension de tableau

C interdit les spécificateurs de déclaration dans les dimensions de tableau des paramètres de fonction, ce qui est autorisé en C.

Longueur variable Tableaux

C omet la prise en charge des tableaux de longueur variable, alors que C les autorise en déclarant des tableaux de tailles non constantes.

Membres de tableau flexibles

C manque de membres de tableau flexibles dans les structures, une fonctionnalité présente dans C.

Qualificateur de restriction

C introduit le qualificatif de restriction pour faciliter l'analyse d'alias, mais il n'est pas pris en charge en C.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal