Opérateur sizeof
Mourad
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir ,
je me trouve en confusion lorsque j'ai fait l'execution de ce code en C
Resultat :
Success time: 0 memory: 2160 signal:0
4 1 4 4
Quelq'un peut t-il m'eclaircir le résulat et merci
je me trouve en confusion lorsque j'ai fait l'execution de ce code en C
double n=5.2; char c=127; printf("%d\t%d\t%d\t%d\t%d ",sizeof(!n),sizeof(c),sizeof(3*c),sizeof((int)c));
Resultat :
Success time: 0 memory: 2160 signal:0
4 1 4 4
Quelq'un peut t-il m'eclaircir le résulat et merci
A voir également:
- Opérateur sizeof
- Opérateur de réseau mobile - Guide
- 0466 quel opérateur - Forum Mobile
- 0668 quel opérateur ✓ - Forum Mobile
- 0758 quel opérateur - Forum Opérateurs & Réseaux mobiles
- 0650 quel opérateur - Forum Mobile
un système 8 ou 16 bits => 2 octets
un système 32 bits => 4 octets
un système 64 bits => 8 octets (sauf pour Windows64 où il ne fait que 4 octets)
et un est la plus petite unité accessible d'au moins 1 octet :
=> 1 octet sur beaucoup de machines, sauf certains embarqués (par exemple TMS320) où il fait 2 octets.
et les autres types intégraux sont définis par l'inégalité :
Un char vaut 1 byte d'au moins 8 bits. Donc classiquement, un char est représenté sur 1 octet.
Le reste découle de l'inégalité.