关于指针的一些有关问题(1)

关于指针的一些问题(1)
[code=C/C++][/code]
char x="a";
char y[10]="ABCDEABCD";
char *ptr=NULL;
ptr= &x;
cout<<sizeof(x)<<endl; //1 why?
cout<<sizeof(ptr)<<endl; //4 why?

ptr=y;
cout<<sizeof(y)<<endl; //10 why?
cout<<sizeof(ptr)<<endl; //4 why?
cout<<sizeof(*ptr)<<endl; //1 why?

------解决方案--------------------
cout<<sizeof(x)<<endl; //1 x是一个char 
cout<<sizeof(ptr)<<endl; //4 ptr是个指针,32位下长度为4

ptr=y;
cout<<sizeof(y)<<endl; //10 字符串长为9,再加上结束符'\0'
cout<<sizeof(ptr)<<endl; //4 ptr是个指针,32位下长度为4
cout<<sizeof(*ptr)<<endl; //1 ptr是指向char的指针,*ptr则是个char