GÉNIE ÉLECTRIQUE
Dernière mise à jour |
Tableaux
chiffre[0]=0, et chiffre[3]=3
int TAB[20]={1,12,13} /* les 17 autres sont initialisés à 0*/ TAB correspond à l’adresse de début du tableau, donc q TAB représente &TAB[0] q TAB[0] représente *TAB TAB+1 pointera la donnée suivante et non l’adresse suivante TAB+i = &TAB[i] Un tableau peut avoir n dimensions char TAB[2][3]={{1,2,3},{4,5,6}} représente une matrice 2x3 initialisée,
Les chaînes de caractères sont des tableaux de caractères finissant par 0, une chaîne est entourée de " et est automatiquement terminée par /0 char message[]= "bonjour"; est la même chose que char message[]={‘b’,’o’,’n’,’j’,’o’,’u’,’r’,/0} ;
on peut utiliser un pointeur pour traiter les chaînes de caractères char *p= " bonjour " ; while (*p !=0) putchar(*p++) ; /*équivalent à puts*/
Conversions de types : CAST Lors d’un calcul les char sont automatiquement transformés en int. Si nécessaire les transformations de type s’effectuent dans l’ordre char -> int -> long -> float -> double signed -> unsigned
Une transformation peut être forcée par un cast float x ; int a=5 ; x=(float)a ; /* x vaudra 5.0 */ float x=5.6 ; int a ; a=(int)x ; /* a vaudra 5*/ Initialisation d’un pointeur à une adresse absolue #define PORTA *(unsigned char *)(0x1000) ex: var=PORTA la valeur 0x1000 est transformée en un pointeur sur un char. PORTA est équivalent au contenu de ce pointeur, donc au contenu de l’adresse 0x1000 |
|