C++中 ,定义 int i,*p=&i;后,以下正确的语句是? A.p=10; Bi=p; C.i=*p; D.p=2*p+i;
4个回答
展开全部
C是正确的。*p=&i,即把i的地址给了p,p是i的地址,*p就是取到p所指内存的值,即为i的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C是对的,int *p = &i。就是p是指向i的指针。所以*p等于i
更多追问追答
追问
就是p是指向i的指针 这句话 。。。
嗯如果是 *p = i 那么就可以得到 &i=p吧。。
但是 *p = &i 是不是得到 &&i=p??
追答
&&i这个是不对的。因为&i已经是地址了,地址不能再取地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*p 是指针,p 是地址。在这个问题中,p内存储的地址是i的地址。
所以A p=10 错误,因为p是地址,而10是整数。如果真的想这样赋值的话,可以把地址赋给p,如:p=0x0012ff74.
B i=p 错的。同样的i是整数,p是地址,类型不同,不能赋值。
C 正确的。 因为p表示地址,*p表示地址对应的内容。由前面的定义知道*p是指向i的。所以*p的内容即i的值。
D 地址与整数相乘,错误。类型不同。
所以A p=10 错误,因为p是地址,而10是整数。如果真的想这样赋值的话,可以把地址赋给p,如:p=0x0012ff74.
B i=p 错的。同样的i是整数,p是地址,类型不同,不能赋值。
C 正确的。 因为p表示地址,*p表示地址对应的内容。由前面的定义知道*p是指向i的。所以*p的内容即i的值。
D 地址与整数相乘,错误。类型不同。
追问
请问 int *p=&i;和int *p=i 是不是一回事??
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询