I came across typedef declaration or definition(?) while learning about linked listsin c:
typedef struct _node{
int a;
struct _node* next
} node;
I have no idea how it can work since the above typedef declaration's body it initiates a pointer variable with its own structure(it seems like _node is being used while defining _node). Or is there anything wrong in my understanding of what it actually does? From depiction maybe I got confused over different terms as well.
struct _node *next;.