Maison > développement back-end > C++ > La définition d'un tableau de longueur nulle en C/C est-elle valide et quelles sont les implications ?

La définition d'un tableau de longueur nulle en C/C est-elle valide et quelles sont les implications ?

Linda Hamilton
Libérer: 2024-12-29 22:20:24
original
747 Les gens l'ont consulté

Is Defining a Zero-Length Array in C/C   Valid and What are the Implications?

Implications de la définition d'un tableau de longueur nulle en C/C

Malgré l'absence d'erreurs de compilation dans GCC, la définition d'un tableau de taille zéro (par exemple, int array[0];) n'est pas valide en C et en C . Selon la norme ISO 9899:2011 6.7.6.2, l'expression représentant la taille du tableau doit être une expression constante avec une valeur supérieure à zéro.

L'absence d'avertissement dans GCC peut provenir de sa prise en charge du code existant qui tableaux utilisés sans la syntaxe []. Cependant, il est crucial de comprendre que de tels tableaux ne sont pas optimisés.

En C , un tableau de longueur nulle, également appelé tableau vide, existe mais ne contient aucun élément. Cela peut être utile dans certaines situations, telles que les structures de rembourrage de queue à des fins d'alignement. Cependant, en général, il n'est pas recommandé de déclarer des tableaux de longueur nulle, car cela peut entraîner un comportement indéfini et des erreurs.

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