Taille de l'union = taille du plus grand type de données utilisé
La mémoire o La participation d'un syndicat sera suffisante pour accueillir le plus grand membre du syndicat. Peu importe ce qui est actuellement utilisé. Par exemple,
union Data
{
int i;
float f;
char str[20];
} data;
Maintenant, une variable de type de données peut stocker un nombre entier, un nombre à virgule flottante ou une chaîne de caractères. Cela signifie qu'une seule variable, c'est-à-dire le même emplacement de mémoire, peut être utilisée pour stocker plusieurs types de données. Le type de données occupera 20 octets d'espace mémoire car il s'agit de l'espace maximal pouvant être occupé par une chaîne de caractères.
Avez-vous vérifié la taille du caractère *? Cela pourrait être la cause. – Mints97
Peut-être essayer d'imprimer le «sizeof» de chacun des éléments séparément comme l'un d'eux est évidemment 8 octets –
J'ai X, Y et Z. Cela provoque W. J'ai vérifié X, Y et ils ne sont pas la cause de W Qu'est-ce qui pourrait causer W? –