| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 399 人关注过本帖
标题:[求助]指针与指针的问题!
只看楼主 加入收藏
lucis009
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2007-5-2
收藏
 问题点数:0 回复次数:1 
[求助]指针与指针的问题!
.....
.....
int main()
{
int m[6];
int *q=m,i=0;
q=get(h);
for(i=0;i<3;i++)
printf("%d\n",*(p+i));/*为什么用循不只能正确显示*(p+0),而我不用循环一个一个就能正确显示?*/
return 0;
}
......
int *get(struct Addresslist *head)
{
int a[6],i=0;
int *p=a;

while(head)
{
a[i]=head->num;
head=head->next;
i++;
}
return p;

}
搜索更多相关主题的帖子: 指针 
2007-06-14 17:11
k_summer7
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-3-19
收藏
得分:0 
从代码上看是根本不会得到正确结果的;
这是因为,数组a在get函数内部定义,也就是在栈空间上定义,当函数调用完成后,该栈会销毁,栈空间上的内容会消失,也就是说指针q指向的是一段未知内容,也就是垃圾区域;
解决办法是,将数组a定义为static int型;或者参数列表中将数组m以指针的形式传递给函数get;
2007-06-14 19:44
快速回复:[求助]指针与指针的问题!
数据加载中...
 
   



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

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