1,struct   tag {
    int a;
    char b;
    char *point;
};

access method :
struct tag a;//a.b
struct tag *b;//a->b;

2, struct   tag {
    int a;
    char b;
    struct tag *self_point;// struct tag self_point is invalidate
};

3, typedef struct  {
    int a;
    char b;
  } sample_struct;

4, typedef  struct   tag {
    int a;
    char b;
    struct tag *self_point;// struct tag self_point is invalidate
}sample_struct;