E' molto semplice ...
La typedef definisce un nuovo tipo di dato utilizzato nel programma.
Nel primo caso, il nuovo tipo
LISTNODE
corrispondera' a struct listNode.
Nel secondo caso
LISTNODEPTR
corrispondera' a un puntatore a LISTNODE, ovvero, per quanto detto prima, a un puntatore a struct listNode. Quindi, invece di scrivere
struct listNode *pnode;
potrai scrivere
LISTNODEPTR pnode;