struct node
{
int coef;
int exp;
struct node *link;
};
typedef struct node *NODE;
It defines NODE
as a synonym for the type struct node *
, so when you'll be declaring a variable of type NODE
you'll be actually declaring a pointer to struct node
.
Personally, I don't think that such declaration is a good idea: you're "hiding a pointer" (which is almost always a bad idea), and, moreover, you are not highlighting this fact in any way into the new name.