| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 400 人关注过本帖
标题:一道简单数组题
只看楼主 加入收藏
printflove
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-21
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:5 
一道简单数组题
#include<stdio.h>
void main(void)
{
    int a[5]={1,2,3,4,5};
    int *ptr=(int *)(&a+1);
    printf("%d,%d",*(a+1),*(ptr-1));
}

结果为何是2,5啊,5从哪来的?
2014-03-12 10:56
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
ptr 指向 a[5]
ptr-1 就是指向 a[4] 啦
2014-03-12 10:59
printflove
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-21
收藏
得分:0 
回复 2楼 rjsp
ptr是怎么指向a[5]的啊?
2014-03-12 11:01
printflove
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-21
收藏
得分:0 
哦,有些明白了,&a+1是a[5]的地址,谢谢啊
2014-03-12 11:16
panrui0512
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2014-1-11
收藏
得分:0 
不对吧,&a+1怎么是a[5]的地址呢?
2014-03-12 21:53
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用panrui0512在2014-3-12 21:53:58的发言:

不对吧,&a+1怎么是a[5]的地址呢?

应该说 “&a+1的值”和“a+5的值”相同,但类型不同,前者是 int (*)[5],后者是 int *
2014-03-13 11:09
快速回复:一道简单数组题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026444 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved