Maison >développement back-end >C++ >Les membres de tableaux flexibles sont-ils autorisés en C ?

Les membres de tableaux flexibles sont-ils autorisés en C ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 20:51:17748parcourir

Are Flexible Array Members Allowed in C  ?

Les membres de tableaux flexibles sont-ils valides en C ?

En C99, les tableaux de membres flexibles peuvent être déclarés dans des structures, permettant à la taille du tableau d'être indéterminé. Cependant, la même syntaxe n'est pas applicable en C . Lors d'une tentative avec clang, la compilation a échoué, ce qui a nécessité une modification de la déclaration pour inclure [0].

Validité en C

Selon la norme C, il n'y a pas de référence explicite aux tableaux de membres flexibles. Cela suggère qu'ils ne sont pas valides en C.

Déclaration correcte

Bien que [0] soit traditionnellement considéré comme une déclaration invalide pour les tableaux, il semble être une déclaration valide pour les tableaux de membres flexibles. Cet écart par rapport au comportement standard des tableaux est unique aux tableaux de membres flexibles en C .

Conclusion

Les tableaux de membres flexibles, bien qu'ils soient disponibles en C99, ne sont pas valides en C . L'exclusion de cette fonctionnalité en C vient du fait que C a été standardisé avant leur introduction 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!

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