Unions et efficacité mémoire
Comprenez les différences entre struct et union, ainsi que la manière dont les unions optimisent l’utilisation de la mémoire.
Unions et efficacité mémoire est une leçon C Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C Academy comprend 3 leçons au total.
Unions et efficacité de la mémoire
Une union est un type de données spécial qui permet de stocker différents types de données au même emplacement mémoire.
Dans cette leçon, vous apprendrez :
- Comment définir et utiliser des unions.
- La différence entre les structures et les unions.
- Comment les unions optimisent l’utilisation de la mémoire.

Qu’est-ce qu’une union ?
Une union ressemble à une structure, mais tous ses membres partagent le même espace mémoire.
Exemple :
union Data {
int i;
float f;
char str[20];
};
Ici, i, f et str partagent le même emplacement mémoire.
Déclarer et utiliser une union
Les unions se déclarent et s’utilisent comme les structures :
union Data d1;
Attribution de valeurs :
d1.i = 10;
Un seul membre peut stocker une valeur à la fois.
Exemple : utiliser une union
Ce programme présente la façon dont une union stocke des valeurs dans un emplacement mémoire partagé.
#include <stdio.h>
union Data {
int i;
float f;
char str[20];
};
int main() {
union Data d1;
d1.i = 10;
printf("Integer: %d\n", d1.i);
d1.f = 20.5;
printf("Float: %f\n", d1.f);
return 0;
}Allocation de mémoire dans les unions
Contrairement aux structures, la taille d’une union est déterminée par son membre le plus volumineux.
Exemple :
union Data {
int i; // 4 bytes
float f; // 4 bytes
char str[20]; // 20 bytes
};
La taille de cette union est de 20 octets, et non de 28.
Différence entre une structure et une union
Structure :
- Chaque membre possède un emplacement mémoire distinct.
- La taille correspond à la somme des tailles de tous les membres.
Union :
- Tous les membres partagent le même emplacement mémoire.
- La taille est déterminée par le membre le plus volumineux.
Exemple : comparer une structure et une union
Ce programme affiche la taille mémoire d’une structure et d’une union.
#include <stdio.h>
struct StructExample {
int i;
float f;
char str[20];
};
union UnionExample {
int i;
float f;
char str[20];
};
int main() {
printf("Size of struct: %lu bytes\n", sizeof(struct StructExample));
printf("Size of union: %lu bytes\n", sizeof(union UnionExample));
return 0;
}Quand utiliser les unions ?
Les unions sont utiles lorsque :
- L’efficacité de la mémoire est prioritaire.
- Une variable doit stocker différents types à différents moments.
- Vous travaillez avec des registres matériels.
Résumé
Dans cette leçon, vous avez appris :
- Comment fonctionnent les unions et comment elles économisent de la mémoire.
- La différence entre les structures et les unions.
- Comment utiliser les unions dans des situations concrètes.
Ensuite, nous étudierons les énumérations en C !

Apprends C avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 39
- Leçons
- 144
Questions Fréquemment Posées
La leçon « Unions et efficacité mémoire » est-elle gratuite ?
Oui — le texte complet de « Unions et efficacité mémoire » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C Academy, passe à CoddyKit PRO. Le cours C Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « Unions et efficacité mémoire » ?
Comprenez les différences entre struct et union, ainsi que la manière dont les unions optimisent l’utilisation de la mémoire. Tu pratiques C Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C Academy ?
Aucune expérience préalable n'est requise. C Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 3.
Combien de temps prend la leçon « Unions et efficacité mémoire » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C Academy ?
Oui. Chaque leçon C Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Définition et utilisation des structures
- Unions et efficacité mémoire
- Énumérations (enum)