Entendendo typedef com struct [duplicate]

Esta pergunta já tem uma resposta aqui:

typedef struct vs definições de estrutura [duplicado] 12 respostas

Estou com dificuldade para entender este exemplo de código:

typedef struct node
{
        int data;
        struct node * next;
} node;

typedef node * nodepointer;

Então, estamos construindo o nó struct usando typedef ... Suponho que estamos fazendo isso para inicializar a estrutura sem que a palavra-chave "struct" seja necessária.

Quero perguntar por que, na definição de estrutura, usamos o nome "nó"duas vezes (no início e no fim).

Em segundo lugar o quetypedef node * nodepointer; aponta para. É necessário usar typedef neste caso? Esta expressãonode * nodepointer; não igual?

questionAnswers(6)

yourAnswerToTheQuestion