¿Cuál es el propósito del primer “nodo” en la declaración: “typedef struct node {- - -} Node;”?

Estoy estudiando ejemplos de código de mi profesor para conocer mejor las estructuras de datos vinculadas.

En nuestro ejemplo de link-list.c, el profesor define un Nodo de tipo de la siguiente manera:

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

¿Cuál es el punto de la minúscula?nodo? Tenía la impresión de que simplemente podías escribir, por ejemplo:

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

y luego usar Node como su propio tipo. ¿Tiene algo que ver con el hecho de que si no incluye un nodo en minúsculas, cuando el compilador esté evaluando el código no podrá entender qué significa "struct node * next"?

Respuestas a la pregunta(6)

Su respuesta a la pregunta