struct my_node {
    int id;
    char name[32];
    struct my_node *next;
};

typedef struct my_node Node;

struct my_node n;
Node n2;

typedef struct my_node {
    int id;
    char name[32];
    struct my_node *next;
} Node;

Node n, n2;

Remark that my_node is a tag, not a type name. Check this article: Tag vs. Type Names