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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-12-06 09:13:09484parcourir

Are Flexible Array Members Valid in C  ?

Membres de tableau flexibles en C

En C99, les membres de tableau flexibles peuvent être utilisés pour déclarer des tableaux de taille inconnue dans le cadre d'une structure. Cependant, la validité de cette fonctionnalité en C a été un sujet de confusion.

Validité en C

C a été standardisé en 1998, avant l'introduction des membres de tableau flexibles. en C99. Par conséquent, les membres de tableau flexibles ne sont pas pris en charge en C.

Déclaration correcte

Malgré l'idée fausse, '[0]' est une déclaration valide pour un membre de tableau flexible dans C. Cette syntaxe indique que la taille du tableau n'est pas spécifiée et doit être définie par l'utilisateur au moment de l'exécution.

Exemple

En C , le code suivant compilera et exécuter sans erreurs :

struct Blah {
    int foo[0];
};

En revanche, la syntaxe '[]' sans taille n'est pas valide en C . Tenter de déclarer un membre de tableau flexible en utilisant cette syntaxe entraînera une erreur du compilateur.

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