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!