なんかよくわかんなくなった
char *pってやったら
pはポインターだけど、char型でint型を示すことはできない

int *func(int x)
ってやったら
funcはポインターの値(0123456Fとか)を返すけど、そのポインターはint型を示すなので
p=func(10)とかはできないけど
int *a;
a=func(10)はできる

*←このマークが、これはポインターだよってことを示す印で・・・
構造体の場合

struct kozo{
int x;
int *p;
};

これの場合、a=kozo.pはできて
a=kozo.*pじゃないよね?