Originariamente inviato da Andre00
In teoria sarebbe a livello logico ancora meglio...
Se buffer è un puntatore a char allora dovrebbe bastare

struct iphdr *ip = buffer;
NO. Il puntatore a destra e quello a sinistra puntano a tipi di dati diversi! E non e' corretto.

I tipi di dati a cui i due puntatori puntano, NON devono essere diversi e quindi si usa il

cast

per indicare al compilatore che il secondo (il puntatore a destra) deve essere "reinterpretato" in quel momento, in un altro modo.

va boh.... tanto ho capito che non ne uscirò mai... il fatto è che non trovo niente online su come usare passo passo i puntatori ma non per giocare, per fare cose serie...

arrivo alla solita solfadetto in parole poverissime) il puntatore è una variabile che punta all'indirizzo di un'altra variabile o struttura dati ecc..
a=5

p=&a; //p= all'indirizzo di memoria di a che contiene 5

Da qui ad arrivare a tutti gli altri esempi non si sa come fare..
No ... il problema e' che si deve passare dai libri ... per un bel po' di tempo.
Lascia perdere l'apprendimento "online" ...