Initialisation partielle des structures et tableaux automatiques en C et C
Le manuel de référence GNU C indique que si une variable de structure n'est pas initialisée, les valeurs de ses membres sont indéterminées. Cependant, les normes ne définissent pas l'initialisation partielle des structures ou des tableaux.
Terminologie de l'initialisation partielle
« Initialisation partielle » fait référence à la fourniture de certains initialiseurs, mais pas de tous, pour un agrégat (tableau ou structure).
Règles d'initialisation pour les structures automatiques et Tableaux
Les normes C et C spécifient les règles suivantes pour l'initialisation des structures et des tableaux automatiques :
Comportement d'initialisation partielle
Même si l'initialisation partielle n'est pas explicitement définie dans les standards, tous les compilateurs traditionnels suivent le comportement suivant :
Exemple
Le C suivant le code initialise partiellement une structure :
struct S { int a; char* b; int c; }; S s = {1, "asdf"};
Dans cet exemple, s.a est initialisé à 1, s.b est initialisé à "asdf", et sc est initialisé à zéro car il n'est pas explicitement initialisé.
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!