Voilà en fait on a commencé la programmation en élec, (en C), et j'ai un peu de mal pour ce qui est des pointeurs.
On a pas vu de cours sur le C, on a directement commencé avec un Tp où il y a 3 pages pour expliquer les grandes lignes, et un exemple avec un truc qui allume des LEDS.
Je précise que mon prof est (très) bordélique, assez évasif dans les explications comme s'il était toujours pressé... Et quand un truc est évident pour lui, il considère que ça l'est aussi pour nous... Du coup quand il attaque un chapitre comme la programmation, c'est assez dur de suivre 
Je précise aussi que j'ai quelques notions (je m'amusais à programmer des jeux sur ma Casio l'an dernier mais j'ai appris tout seul en essayant au hasard, alors ce sont pas forcément des bonnes bases...)
En fait le programme, c'est ça :
char *portb;
char SORTIE;
int PORTB;
void main()
{
PORTB=0x1004;
portb=PORTB;
SORTIE=0;
}
(il y a quelques commentaires qui n'aident pas beaucoup, en fait la valeur 0 ou E0 va s'afficher en binaire sur des leds)
Dans la suite du TP le programme s'allonge un peu mais la seule partie qui me pose problème c'est ça.
Ce que j'avais compris de premier abord, et avec les fiches en début de TP, c'est que :
*portb est un pointeur (à cause de l'étoile), SORTIE et PORTB sont des variables
on donne la valeur 0x1004 à PORTB, puis on donne la valeur PORTB à portb, et enfin la valeur 0 à SORTIE
à l'adresse indiquée par portb (0x1004), on met la valeur de SORTIE. Puis on y met la valeur 0xE0.
Donc selon moi, un pointeur aurait une valeur (0x1004 ici) qui correspond à l'adresse d'une autre variable. *portb désignerait la valeur de cette autre variable.
Quand j'ai demandé des précisions au prof, il m'a totalement embrouillé
Ce que j'ai compris de ce qu'il m'a dit :
les * ne servent à rien, on pourrait très bien les enlever (il l'a fait, le programme ne marchait plus, après 30 min à chercher dans les menus il les a remises et ça remarchait.)
portb et SORTIE sont des variables, PORTB est un pointeur. Quand je lui ai demandé comment on reconnaissait les variables des pointeurs, il a répondu "c'est normal puisque c'est un pointeur!". Quand j'ai insisté, il m'a dit que les pointeurs étaient forcément sur 16 bits sur ce micro contrôleur. (car les adresses vont de 0000 à FFFF)
on place la variable portb à l'adresse PORTB, puis on change sa valeur (d'abord 0, puis E0)
Voilà je suis un peu paumé, surtout l'histoire des * et de leur soi-disante inutilité, ça me paraît louche... En cherchant un peu sur le net, ça semble plutôt pencher de mon côté (enfin, du côté de la fiche dans son TP).