如何解决指针的地址如何寻址?
我遇到了使用C语言进行的与指针有关的测验,但是我不知道答案是对还是错。
给出以下代码并找出结果。
顺便说一下,变量a,p,q,r
的地址被视为500,600,700,800
。
int main(void)
{
int a = 10,*p = &a,**q = &p,***r = &q;
printf("%u %u %u %u %u",&a,r,*r);
return 0;
}
我认为p指向a的地址,q指向p的地址,r指向q的地址。因此,&a
等于p
,而q
等于*r
。
因此,我假设结果将为500 500 600 700 600
。
这是正确的答案吗?
解决方法
如果p持有a的地址,则p = 500,再次q持有p的地址,所以q = 600,r持有q的地址,所以r = 700,并且* r = 600..so最终ans是500,500,600,700,600。这意味着您的假设是绝对正确的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。