A voir également:
- Information sur le C
- Information d'identification réseau - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Information pc - Guide
- Hidden information marketplace c'est quoi ✓ - Forum HTML
- Lcfc debug page information - Forum BIOS
1 réponse
T'est pas chiant toi...
une union d'abord :
union test{
short toto;
unsigned short toto2;
long entier;
};
quand tu alloues une variable du type test, la taille allouée est celle de la plus grande variable de l'union (ici long).
quand tu mets 1 dans toto, les valeurs de toto2 et entier sont également changées (en1). Si on met -1 dans toto2, la valeur de toto et entier sont de 65535 (unsigned pour toto représentation de -1 en mémoire et pour entier, c'est un long donc seule ses deux dernier octets sont modifié (avec Windows)) Si tu met 65537 dans entier, tu auras 1 dans toto et dans toto2 (65537-65536)
En résumé,faire une union réserve la MEME zone mémoire pour toute les données.
pour les champs de bits:
définition :
struct
test {
unsigned short icon : 8;
unsigned short color : 4;
unsigned short underline : 1;
unsigned short blink : 1;
} toto;
Les champs de bits permettent de nommer des bits dans les structures sans trop s'emmerder.
icon prend 8 bit, color 4 bits, underline en prends 1 et blink en prends 1 également.
toto.blink permet d'acceder au seul bit réservé pour blink et ce directement.
Si tu veux plus d'info, pose d'autre question pcq c'est très dur de parler de ce genre de structures de but en blanc...
A+
Phy
"Beuhh encore un bug"
une union d'abord :
union test{
short toto;
unsigned short toto2;
long entier;
};
quand tu alloues une variable du type test, la taille allouée est celle de la plus grande variable de l'union (ici long).
quand tu mets 1 dans toto, les valeurs de toto2 et entier sont également changées (en1). Si on met -1 dans toto2, la valeur de toto et entier sont de 65535 (unsigned pour toto représentation de -1 en mémoire et pour entier, c'est un long donc seule ses deux dernier octets sont modifié (avec Windows)) Si tu met 65537 dans entier, tu auras 1 dans toto et dans toto2 (65537-65536)
En résumé,faire une union réserve la MEME zone mémoire pour toute les données.
pour les champs de bits:
définition :
struct
test {
unsigned short icon : 8;
unsigned short color : 4;
unsigned short underline : 1;
unsigned short blink : 1;
} toto;
Les champs de bits permettent de nommer des bits dans les structures sans trop s'emmerder.
icon prend 8 bit, color 4 bits, underline en prends 1 et blink en prends 1 également.
toto.blink permet d'acceder au seul bit réservé pour blink et ce directement.
Si tu veux plus d'info, pose d'autre question pcq c'est très dur de parler de ce genre de structures de but en blanc...
A+
Phy
"Beuhh encore un bug"