| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 324 人关注过本帖
标题:帮个忙 看一下
只看楼主 加入收藏
maoniu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2010-4-7
结帖率:57.14%
收藏
已结贴  问题点数:20 回复次数:3 
帮个忙 看一下
#define N         4096   
int p;
unsigned char
        text_buf[N];
key = &text_buf[r];  
p = N + 1 + key[0];
text_buf[N]里面放的是字符,执行完上面的语句p = N + 1 + key[0];p里面会得到什么?
2010-04-26 12:51
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:6 
p指向一个不可预测的内存地址,因为他已经超出数组的范围
unsigned char *k,*p;
k = &text_buf[2];
p = 5+k[0];
 那么p指向&text_buf[2+5];
2010-04-26 15:11
liyang0430
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:159
注 册:2009-6-9
收藏
得分:6 
如果r小于N的话,key = &text_buf[r]; 说明key是一个新数组,而它的起驶位置就是text_buf这个数组的第r+1个元素!
所以p就是在key这个数组的第一个元素的基础上再加上n+1!而不是在数组内后移n+1个位置!
2010-04-26 15:48
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:6 
key[0]就是text_buf[r]
p就是text_buf[r]+N+1

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2010-04-27 09:00
快速回复:帮个忙 看一下
数据加载中...
 
   



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

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