Page suivante Page précédente Table des matières

3- Les différents types de données du Langage C


Les types de données du langage C

  1. 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 
      




BIENTOT D AUTRES TYPES DE DONNEES EXPLIQUES PAR NEOFUTUR.NET

Page suivante Page précédente Table des matières

Hébergé par NeoSkills Mutualisation online de multi-compétences GNU/Linux