Can someone explain this piece of code for me?
typedef char AirportCode[4];
typedef struct NodeTag{
AirportCode Airport;
struct NodeTag *link;
}Node;
Node *L;
This is a snippet of code from my data structures class. This piece of code was implemented to hold data in a linkedlist node. What I'm trying to understand is what the NodeTag, in general, is used for? Is it when you want the structure to hold another iteration, for the lack of a better word, of the struct inside itself? What is the difference between the NodeTag and what you put after the curly brace, in this case "Node"?