bonjour,
voila je m'amuse en langage C, et je voulais savoir la place que mes variables prenaient sur ma ram.
j'ai donc fait ce code:
je trouve les valeurs :Code:double a = 15; int b = 5; char c ='f'; int d = 14; printf("l'adresse de a est : %x \n",&a); //j'affiche l'adresse de a de ma ram en hexa printf("l'adresse de b est : %x \n",&b); //j'affiche l'adresse de b de ma ram en hexa printf("l'adresse de c est : %x \n",&c); //j'affiche l'adresse de c de ma ram en hexa printf("l'adresse de d est : %x \n",&d); //j'affiche l'adresse de d de ma ram en hexa
l'adresse de a est : 1f4abf18
l'adresse de b est : 1f4abf10
l'adresse de c est : 1f4abf0f
l'adresse de d est : 1f4abf14
je ne comprend pas car l'adresse de &a par rapport a &b perd 8 bit ce qui est normal car c'est un double, mais ensuite b qui est un int devrait perdre 4 bits de mémoire par rapport a &c et on constate qu'il n'en perd qu'un pourquoi?
De plus sur ma virtual box je n'ai que 1 Go de ram pourtant je constante des adresses allant jusqu'au decimal 2 000 000 000 ce qui dépasse mes 1 Go, une idée la dessus?
merci d'avance![]()
-----