Définir une variable int en C++

Fermé
wafa84 - 9 déc. 2009 à 12:32
 wafa84 - 9 déc. 2009 à 14:35
Bonjour,
si on définit une variable comme suite :

int[1024] mem;

cela veut dire que cette variable mem prend comme espace mémoire 1024 bits ?! et ces bits là seront ordonnés deux par deux octets l'un sur l'autre comme le cas de la pile ?!


merci .

Wafa

2 réponses

loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
9 déc. 2009 à 13:14
int[1024] mem; ---> inconnu au bataillon ;-)
La déclaration serait plutôt du style: int mem[1024];
Ceci est un tableau de 1024 entiers. La place réservée sera donc 'sizeof(int) * 1024'. Si tu as une (très) vieille machine, peut-être, la taille d'un entier sera 2 octets, mais avec une machine moderne, mais néanmoins classique, tu auras certainement 4 octets.
Bonne continuation.
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
9 déc. 2009 à 13:46
@wafa,
je pense que tu confonds bit et byte. Le bit est l'unité binaire (0 ou 1) alors que le byte est un octet (= 8 bits).
Pour appuyer ce que dit loupius, un int aura la taille « standard » du système d'exploitation sous lequel tu compiles ton programme :
– système 16 bits -> 2 octets
– système 32 bits -> 4 octets
– système 64 bits -> 8 octets

En supposant que tu as un système 32 bits, ton tableau aura donc une taille totale de :
4 * 1024 = 4096 octets.
0
tu me prends pour qui ?! :))) moj niveau n'est pas aussi bas quand même ;)
0