Maison > développement back-end > C++ > Pourquoi les tableaux de taille nulle sont-ils invalides en C/C ?

Pourquoi les tableaux de taille nulle sont-ils invalides en C/C ?

Linda Hamilton
Libérer: 2024-12-28 02:39:09
original
472 Les gens l'ont consulté

Why Are Zero-Sized Arrays Invalid in C/C  ?

Définir un tableau de taille nulle en C/C

Définir un tableau de taille nulle en C ou C n'est généralement pas autorisé. La norme C, ISO 9899 :2011 6.7.6.2, indique explicitement que les tableaux doivent avoir une taille supérieure à zéro lorsqu'ils sont définis. Par conséquent, les tentatives de déclaration de tableaux de taille nulle peuvent entraîner un comportement imprévisible, des avertissements du compilateur ou des erreurs.

L'extrait de code fourni démontre ce comportement. Compiler le code avec l'indicateur -std=c99 -pedantic déclenche un avertissement du compilateur, indiquant la déclaration de tableau invalide. Cela confirme que les tableaux de taille nulle ne sont pas autorisés selon la norme.

Certains langages de programmation autorisent les tableaux de taille nulle, mais pas C. Cette restriction garantit que les tableaux ont une taille bien définie et évite les problèmes potentiels liés à la gestion de la mémoire et à l'accès aux éléments hors limites.

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