读书人

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

发布时间: 2012-04-02 19:58:59 作者: rapoo

关于指针的一些问题(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

读书人网 >C++

热点推荐