3- Les différents types de données du Langage C
Les types de données du langage C
-
Les types de données simples
-
Les entiers : le type short et le type int
Les types short et int sont destinés à contenir un entier ( et un seul ).
cependant, il peuvent se décliner de plusieurs manières.
Le programme qui suit ( taille_entiers.c ) vous permettra de savoir la taille
en octets de chacun des types d'entier :
int main()
{
printf(" taille short = %d\n", sizeof( short ));
printf(" taille unsigned short = %d\n", sizeof( unsigned short ));
printf(" taille int = %d\n", sizeof( int ));
printf(" taille unsigned int = %d\n", sizeof( unsigned int ));
printf(" taille long int = %d\n", sizeof( long int ));
printf(" taille unsigned long int = %d\n", sizeof( unsigned long int ));
printf(" taille long long int = %d\n", sizeof( long long int ));
printf(" taille unsigned long long int = %d\n", sizeof( unsigned long long int ));
return(1);
}
Sous Linux, ce programme donne :
bash-2.03$ ./taille_types.exe
taille short = 2
taille unsigned short = 2
taille int = 4
taille unsigned int = 4
taille long int = 4
taille unsigned long int = 4
taille long long int = 8
taille unsigned long long int = 8
Cependant, sur d'autres systèmes, les tailles des types de données peuvent différer.
Il est donc important de préciser que les programmes qui procèdent a des décalages de bits
ne sont pas nécessairement portables d'une plate-forme à une autre.
Un short pourra contenir, sous Linux, une valeur entre :
-32768 et 32767
Un unsigned short pourra contenir, sous Linux, une valeur entre :
0 et 65535
Un int pourra contenir, sous Linux, une valeur entre :
-2147483648 et 2147483647
Un unsigned int pourra contenir, sous Linux, une valeur entre :
0 et 4294967295
Un long int pourra contenir, sous Linux, une valeur entre :
-2147483648 et 2147483647
Un unsigned long int pourra contenir, sous Linux, une valeur entre :
0 et 4294967295
Un long long int pourra contenir, sous Linux, une valeur entre :
-9223372036854775808 et 9223372036854775807
Un unsigned long long int pourra contenir, sous Linux, une valeur entre :
0 et 18446744073709551615
Le programme min_max_types.c vous permettra de retrouver ces
valeurs minimales quelle que soit votre plate-forme.
-
Les nombres a virgule flottante : le type float et le type double
Les types float et double sont destinés à contenir un nombre
a virgule flottante ( et un seul ), c'est a dire un reel en langage purement mathématique.
Le programme qui suit ( taille_float.c ) vous permettra de savoir la taille
en octets de chacun des types de reels du langage c :
int main()
{
float f;
double d;
long double ld;
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// Linux ne tolere pas les flottants non signes.
// *********************************************
//unsigned float uf;
//unsigned double ud;
//unsigned long double uld;
printf("taille en octets d'un float : %d\n", sizeof(float ) );
printf("taille en octets d'un double : %d\n", sizeof(double ) );
printf("taille en octets d'un long double : %d\n", sizeof(long double ) );
return(1);
}
Sous Linux, ce programme donne :
bash-2.03$ ./taille_float.exe
taille en octets d'un float : 4
taille en octets d'un double : 8
taille en octets d'un long double : 12
|
|