2级指针输出的问题 高手进

来源:百度知道 编辑:UC知道 时间:2024/05/17 06:38:37
#include <iostream>
using namespace std;
int main()
{
char **p=new char* ;
char ptr[10]="123456789";
p=(char**)ptr;
cout<<&ptr<<endl; //1
cout<<ptr<<endl; //2
cout<<*ptr<<endl; //3
cout<<p<<endl; //4
cout<<*p<<endl; //5
cout<<**p<<endl; //6
return 0;
}
求助各位达人 1234 可以正常输出 但是 56两条语句 提示错误 说内存不能读 为什么啊

*p是一个char*类型,但是没有给他分配内存地址, 这个地址无法显示.
cout << *p <<endl;就如同下面的情况
char *p
cout << p
这是不能执行的.

**p是指*p所指向的地址的内容,因为*p本身就存在错误,**p根本就不存在.