Dlaczego otrzymuję ten błąd: „definicja danych nie ma typu ani klasy pamięci”?

#include <stdio.h>
#include <stdlib.h>

struct NODE {
    char* name;
    int val;
    struct NODE* next;
};
typedef struct NODE Node;

Node *head, *tail;
head = (Node*) malloc( sizeof( Node ) ); //line 21

I kompiluję tak:

cc -g -c -o file.tab.o file.tab.c

Otrzymuję ten komunikat o błędzie:

file.y:21:1 warning: data definition has no type or storage class [enabled by default]

questionAnswers(4)

yourAnswerToTheQuestion