J'apprends C. C Primer Plus, j'ai vu un exemple de champ de bits comme suit:Quel est le but de champ de bits sans nom à la fin de la structure
struct box_props {
bool opaque : 1;
unsigned int fill_color : 3;
unsigned int : 4;
bool show_border : 1;
unsigned int border_color : 3;
unsigned int border_style : 2;
unsigned int : 2;
};
Je comprends les 4 bits Un champ de bits sans nom au milieu est utilisé pour laisser les bits suivants commencer à un nouvel octet. Cependant, je ne comprends pas pourquoi il y a un autre champ de bits sans nom à la fin de la structure. Quel est le but de cela? Est-ce nécessaire?
Non, c'est facultatif; fait pour le remplissage, dans l'espoir que le compilateur fasse la taille de la 'struct' 2 octets de long, ce qui devrait déjà être fait par la plupart des compilateurs. – legends2k
http://stackoverflow.com/questions/119123/why-isnt-sizeof-for-a-struct-equal-to-the-sum-of-sizeof-of-each-member – Gopi
@ légendes2k Merci. Vraiment apprécié. – Naitree