指针的疑惑
在看书,对于范例程序中的int value=5;
int *ptrValue=&value;
int **ptrptr=&ptrValue;
cout<<"value="<<value<<endl;
cout<<"ptrvalue="<<ptrValue<<endl;
cout<<"value="<<*ptrValue<<endl;
cout<<"ptrptr="<<ptrptr<<endl;
cout<<"ptrvalue="<<*ptrptr<<endl;
cout<<"value="<<**ptrptr<<endl;
//------------------结果
value=5
ptrvalue=0X0012FF7C
value=5
ptrptr=0X0012FF78
ptrvalue=0X0012FF7C
value=5
//------------------结果
能够理解
但是将程序改成
char value=5;
char *ptrValue=&value;
char **ptrptr=&ptrValue;
cout<<"value="<<value<<endl;
cout<<"ptrvalue="<<ptrValue<<endl;
cout<<"value="<<*ptrValue<<endl;
cout<<"ptrptr="<<ptrptr<<endl;
cout<<"ptrvalue="<<*ptrptr<<endl;
cout<<"value="<<**ptrptr<<endl;
//------------------结果
value="字符"
ptrvalue=乱码
value="字符"
ptrptr=0X0012FF78
ptrvalue=乱码
value="字符"
//------------------结果
对于ptrvalue的数值显示怎么会是乱码不是很理解,在调试中查看ptrvalue的数值和上面的是一样
[ 本帖最后由 happynight 于 2009-9-24 15:11 编辑 ]