Conversions de typesAllocation dynamique de m´emoireInitiation au C◦cours n 8Antoine Min´e´Ecole normale sup´erieure12 avril 2007◦´Antoine Min´e — Ecole normale sup´erieure Initiation au C – cours n 8Conversions de typesAllocation dynamique de m´emoirePlan du coursConversions de types : l’op´erateur (type).Allocation dynamique de m´emoire : malloc, realloc, free.◦´Antoine Min´e — Ecole normale sup´erieure Initiation au C – cours n 8Conversions de types Conversions de types arithm´etiquesAllocation dynamique de m´emoire Conversions de types pointeursConversions de types◦´Antoine Min´e — Ecole normale sup´erieure Initiation au C – cours n 8Conversions de types Conversions de types arithm´etiquesAllocation dynamique de m´emoire Conversions de types pointeursRappels sur les types entiersTypes entiers sur un Intel 32-bittype sizeof ensemble repr´esent´echar, signed char 1 [−128,127]unsigned char 1 [0,255]short 2 [−32768,32767]unsigned short 2 [0,65535]31 31int, long 4 [−2 ,2 −1]32unsigned, unsigned long 4 [0,2 −1]63 63long long 8 [−2 ,2 −1]64unsigned long long 8 [0,2 −1]Calculs dans les entiers :8×sizeofnon-sign´es : calcul modulo 2 ,sign´es : r´esultat al´eatoire en cas de d´epassement de capacit´e,erreur `a l’ex´ecution en cas de division par 0 (/ ou %).◦´Antoine Min´e — Ecole normale sup´erieure Initiation au C – cours n 8Conversions de types Conversions de types arithm´etiquesAllocation dynamique de m´emoire Conversions de types ...
lorsdesope´rationsbinaires:promotion vers un type commun, int<long<long long<float<double<long double Exemple : ;int x=6 ; x=x*0.5multiplication endouble.
t
double d = 1 ;conversion de1deintversdouble int x = d+0.5 ;troncature ded+0.5dedoubleversint
ep
lors des appels de fonctions : vers letype des arguments, Exemple :fputf(2.5, f) ;(exception :printf)
y
lors desaffectations,initialisations: vers le type de lalvalue,