Est-il possible de déclarer un tableau de syndicats?Un ensemble de syndicats est-il valide ou invalide?
Si oui, en quoi est-ce différent d'un ensemble de structures normal?
Est-il possible de déclarer un tableau de syndicats?Un ensemble de syndicats est-il valide ou invalide?
Si oui, en quoi est-ce différent d'un ensemble de structures normal?
Oui, c'est possible. Techniquement, il n'y a pas de différence, c'est juste un morceau de mémoire continu avec chaque élément représentant une union. C'est exactement la même chose pour la structure ou tout autre type. Chaque élément prend la même taille que la taille d'une union ou d'une structure.
Oui, très possible (mais peut-être inhabituel). La différence entre un struct
et un syndicat est qu'un struct
contient tous ses membres, tandis qu'un union
ne contient qu'un membre à la fois.
Les membres du groupe seront toujours assez grands pour contenir le plus grand membre du syndicat.
L'AVEZ-VOUS ESSAYÉ? –
@MartinJames "juste essayer" n'est pas un bon moyen de savoir si les choses sont légales en C. Après tout, un comportement indéfini semble souvent fonctionner comme vous l'attendez, jusqu'à ce que ce ne soit pas le cas. – fuz
Si le compilateur permet de déclarer la matrice d'union, il est BEAUCOUP moins probable qu'une telle structure produise UB. –