一个很简单的链表有关问题,请帮忙看一上

一个很简单的链表问题,请帮忙看一下!
#include <stdio.h>
#include <stdlib.h>

typedef struct Lnode{
  int data;
  struct Lnode *next;
}Link,*pLink;

void main()
{
  pLink *s;
  s = (pLink)malloc(sizeof(Link));
  s->data = 1;
  printf("%d\n", s->data);
  free(s);
}

编译出错:test.c: In function ‘main’:
test.c:12: warning: assignment from incompatible pointer type
test.c:13: error: request for member ‘data’ in something not a structure or union
test.c:14: error: request for member ‘data’ in something not a structure or union

很不明白,请各位帮忙看一下是怎么回事,多谢了!

------解决方案--------------------
pLink *s;改为Link *s;就OK了 指针用的时候要注意
------解决方案--------------------
pLink本身就是一个结构体指针pLink s
------解决方案--------------------
指针级别问题
pLink的指针指针级别是Lnode*,s是指向pLink的指针,因此s的指针级别为Lnode**(二级指针)。
可以将s降为一级指针(Link*或者pLink):
C/C++ code

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

typedef struct Lnode
{
    int data;
    struct Lnode *next;
}Link,*pLink;

int main()
{
    pLink s;
    s=(pLink)malloc(sizeof(Link));

    s->data=1;
    printf("%d\n",s->data);

    free(s);

    system("pause");

    return(0);
}