[ C noobs inside] combien d'octets ça vaut les !=tes variables???

combien d'octets ça vaut les !=tes variables??? [ C noobs inside] - Programmation

Marsh Posté le 12-03-2002 à 12:25:24    

un char
une int
un long et un float
 
les char c par caractères  
par exemple char mot[20] si un char vaut un octet moin mot fera 20octets c exact


---------------
:sol:
Reply

Marsh Posté le 12-03-2002 à 12:25:24   

Reply

Marsh Posté le 12-03-2002 à 13:46:42    

Un "char" occupe un octet
Un "int" occupe deux octets dans le monde 16 bits, quatre en 32 bits
le "short int" occupe deux octets en 16 et en 32 bits (ça permet de relire les fichiers binaires écrits avec des int 16 bits)
le float et le long occupent 4 octets (sauf erreur)
le double en fait 8.
 
Un tableau de char de 20 cases occupe 20 octets, c'est pourquoi si on y stocke une chaîne de caractères, vu que celles-ci sont habituellement terminées par un caractère zéro, on ne peut y mettre que 19 caractères utiles.

Reply

Marsh Posté le 12-03-2002 à 13:50:35    

merci  :jap:


---------------
:sol:
Reply

Marsh Posté le 12-03-2002 à 13:57:24    

Aucune faute CARBON_14  :sol:


---------------
Yoko, our beloved Meuh - R.I.P ( 27/06/2004 )
Reply

Marsh Posté le 12-03-2002 à 14:13:50    

CARBON_14 a écrit a écrit :

Un "char" occupe un octet
Un "int" occupe deux octets dans le monde 16 bits, quatre en 32 bits
le "short int" occupe deux octets en 16 et en 32 bits (ça permet de relire les fichiers binaires écrits avec des int 16 bits)
le float et le long occupent 4 octets (sauf erreur)
le double en fait 8.
 
Un tableau de char de 20 cases occupe 20 octets, c'est pourquoi si on y stocke une chaîne de caractères, vu que celles-ci sont habituellement terminées par un caractère zéro, on ne peut y mettre que 19 caractères utiles.  




on peut continuer  
le long fait 8 octest en 64 bits
les pointeurs font 2/4/8 octets en 16/32/64 bits...
 
Mais attention a bien relire la norme et en C++ ce n'est pas forcement la meme chose...

Reply

Marsh Posté le 12-03-2002 à 16:31:48    

Sinon si jamais t'as besoin de savoir la taille d'un type, tu peux utiliser sizeof();
 
Par exemple, sizeof(char); te renvoie 1 (ce qui correspond a la taille d'un char en octets).

Reply

Marsh Posté le 12-03-2002 à 17:08:22    

tenkei a écrit a écrit :

Sinon si jamais t'as besoin de savoir la taille d'un type, tu peux utiliser sizeof();
 
Par exemple, sizeof(char); te renvoie 1 (ce qui correspond a la taille d'un char en octets).  




 
ha ouais tien g pas pensé a faire ça ... mais je suis un newbie fo dire  :(


---------------
:sol:
Reply

Marsh Posté le 12-03-2002 à 19:48:50    

Dans values.h, tu as des constantes qui représentent le nombre de bits de chaque type (elles sont récupérées avec une macro à base de sizeof(), comme l'a indiqué tenkei). Utilise ces constantes si tu as besoin de savoir ce genre de choses ; ne présume jamais la taille d'un type : ça peut changer d'un plateforme à l'autre.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed