About link list

I should use a pointer or a struct as the head of a linklist. I want use the linklist as the data structure for graph.
Such as

struct node {
int vertex;
struct node * next;
};
typedef struct node NT;

struct list{
int row;
NT * neighbour;
struct list * next;
}
typedef struct list LT;

which one is better:

LT linklist;

or

LT * linklist;

Thanks

LT *linklist is the way to go.

What makes linked lists cool is that you can easily modify the list. Suppose you want to drop the first entry. With the pointer you can just update the pointer and free the first entry. Inserting a new entry at the top is just as easy. But if you are maintaining a specific top entry, you must update the entry to change the top of the list.

Even if you certain that you will never want to change to top of this linked list, at others times you will want to be able to do this. You should use one method to handle all linked lists to minimize confusion.

This is really helpful.Thanks a lot!