typedef struct listNode *listPointer;
typedef struct {
char data;
listPointer link;
} listNode;

여기에서.. struct listNode* 를 listPointer 로 대치하잖아요..

그런데 struct listNode 가 코드에 없는것 같아서...

typedef struct listNode *listPointer;
typedef struct listNode {
char data;
listPointer link;
} listNode;

이런식으로 해야하는거 아닌가 해서요..