ciao, ma typedef a cosa serve in sostanza?

per esempio ho una lista

struct ciao{
int n;
struct ciao *next;
};

se faccio
typedef struct ciao ciao;

posso usare sempre ciao al posto di struct ciao?
o serve ad altro?