指针引用

来源:百度知道 编辑:UC知道 时间:2024/07/04 15:14:37
若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()
A.p=q; B.*p=*q; C.n=*q; D.p=n;

请把每个语句、各个选项分别释义。

有问题的是D

n为一整型变量
p为指针,指向 n
q和p一样

A. 将q的值赋给p,本来两个指针值就相同,没有问题
B. *q 的值为n的值,*p 就是n这个变量,这个语句将前者的值赋给后者,正确
C. *q 的值为n的值,该语句将 n的值赋给变量n,正确
D. 该语句将n的值赋给指针p,使得p指向一个非法的地址,后续对p的使用可能会导致内存访问越界