int a[5]={1,2,3},*p=a;则*(p+1)的值是2 求解释
推荐于2018-03-05
展开全部
int a[5]={1,2,3}数组在内存中申请了五个连续的地址,假设是五个方框吧□□□□□,依次存放了1,2,3,0,0;
*p=a;定义了一个指针,指向a数组的首地址,也就是第一个方框,p+1,就是指向第二个方框。*(p+1)就是取p+1个方框内的数据,据上面分析,我们可知它是2.
*p=a;定义了一个指针,指向a数组的首地址,也就是第一个方框,p+1,就是指向第二个方框。*(p+1)就是取p+1个方框内的数据,据上面分析,我们可知它是2.
2016-06-23
展开全部
inta[5]={1,2,3,4,5},i//定义int数组a->5个连续的int存储空间首地址,按顺序值为1,2,3,4,5;int*p=a;//定义int指针,并初始化值为a,指向数组首地址p+=2;//指针按int类型方式向下偏移2位,指向从a[0]->a[2],值从1->3for(i=0;i==0;i++)//for循环i初值为0(循环入口),循环判断为i==0(每次循环前),i++为循环增量(每次循环后)cout<<*(p+2);//向cout流输出*(p+2)的值,默认为std终端,p+2同上,指向a[4],*(p+2)为指向地址值为5。该循环一次后中断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p 的值是 a 的地址,运算符 * 是寻址,*(p+1) 就是 a[1] ,即为 2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询