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
Linda Hamiltonoriginal
2024-12-28 02:39:09522parcourir

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!

Déclaration:
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