指针等于指针是什么意思

char *p,p1,p2,p3;
p1 = new char;
p1 = "2";
p1 = p; //这里是什么意思?
p2 = p1;
p3 = new char;
pa = "6";
p1 = p3; //p1又指另p3了
那p2现在指向哪个?
sorry, 应该是char *p,*p1,*p2,*p3;

让指针p1指向指针p所指向的地址。
也就是说用p的值,覆盖p1的值。

在你的那段代码里,因为p没有被初始化,所以p1=p的操作是不安全的。如果接下来的操作,直接使用了p1,会导致内存错误。

这段代码执行完毕后,p2指向p所指向的地址。而p没有被初始化,所以p2里的值也是不确定、无意义的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-11
char *p,p1,p2,p3;
p1 = new char;
p1 = "2";
p1 = p; //这里是什么意思?p是指针,在内存里也是一个数值
p2 = p1;
p3 = new char;
pa = "6"; //pa是什么?
p1 = p3; //p1又指另p3了
那p2现在指向哪个?
第2个回答  2017-12-17
我觉得这个问题不是很严谨。因为p没有定义,就是一堆指向不知道什么地方的东西,我我觉的语法上没问题,但是逻辑上有问题。
相似回答