Bonjour
Je suis un débutant en C et je n'arrive pas à comprendre pourquoi l'instruction suivante qui permet de configurer un registre à l'adresse 0x40021018, fonctionne:
*(int *)0x40021018 |= (1<<2);
Ce que je ne comprend pas c'est l'absence de déclaration de la variable pointeur. Pour moi un cast de pointeur sur une adresse ne force pas le type d'une variable car elle n'existe pas! Je ne sais même pas comment le compilateur peut comprendre que l'adresse 0x400221018 n'est pas une variable.
Merci
Partager