oui, ta manière de comprendre est bonne et ton prof à l'air assez mauvais en C (c'est surrement un bon spécialiste de l'elec, ça je n'en doute pas).
Bon, pour résumer, même si c'est dur :
(TYPE désigne un type quelconque : char, int, un type défini par toi même...)
TYPE a; // Déclare une variable de type TYPE
TYPE p_a; // Déclare un pointeur sur un objet de type TYPE.
Et tout ce qu'il faut bien comprendre, c'est que p_a sera une variable comme une autre, mais qui contiendra l'adresse de l'objet "pointé".
Pour connaitre l'adresse d'un objet, on utilise "&".
On peut donc faire ceci :
p_a = &a; // p_a contient l'adresse de a
// Il est équivalent de dire que p_a pointe sur a
Et comme tu l'as dit, pour accéder à un objet pointé par l'intermédiaire du-dit pointeur, on utilise "*".
On appelle cela "déréférencer".
Ainsi, (*a) représente l'objet pointé par p_a, et on s'en sert exactement comme s'il s'agissait de l'objet lui même.
Dernière précision, les adresses sont effectivement représentées en hexadécimal (base 16), et cela est stipulé par le "0x" en préfixe.
Donc pour ce qui toi te concerne, faire :
TYPE p_a = 0x1004;
c'est dire que p_a pointe sur l'objet qui est à l'adresse 1004 de ton espace d'adressage.
Tout le reste que tu pourras rencontrer sera spécifique aux controleurs extérieurs, "carte spéciales", matériel spécifique, ... que tu utilises en entrée ou en sortie.
A ce sujet, le morceau de code que tu as livré est très étrange :
- PORTB n'est pas déclaré
- L'affectation "*portb=0xE0;" alors que portb semble pointer sur un char vu l'affectation précédente "*portb=SORTIE"
Bref, pour conclure, et c'est ce qui t'interessera, garde juste à l'esprit que si tu dois ecrire quelque chose sur une sortie (reliée à une LED par exemple), tu auras toujours quelque chose du genre :
----
char* adresse_de_sortie = 0xQUELQUECHOSE
char le_motif_a_ecrire_sur_les_leds = AUTRECHOSE
// On écrit le motif à l'adresse qui va bien
(*adresse_de_sortie) = le_motif_a_ecrie_sur_les_leds
----
Voila, et bon courage avec un prof pareil...
Non mais j'te jures, le voir essayer d'enlever "l'étoile" et voir que ca ne marche pas, ... quelle quiche :D
N'hésites pas à reposter si tu n'as pas compris, il y a plein de gens compétents en C ici.