设有定义:int n=0,*p=&n,**q=&p,则下列赋值语句哪个是正确的?A.p=1;B.*q=2;C.q=p;D.*p=5;

问题描述:

设有定义:int n=0,*p=&n,**q=&p,则下列赋值语句哪个是正确的?A.p=1;B.*q=2;C.q=p;D.*p=5;
为什么是D,

答案是Dn,p,q这三者的关系如图所示.A错.p是指针,它里面存放的是地址值,而1是整数,类型不符,不能赋值.B错.q是指向指针的指针,*q相当于写成p一样.错误情况参考A的解释C错.p是指向整型变量的指针(一级指针),可以存放...