| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3936 人关注过本帖
标题:怎样返回数组
只看楼主 加入收藏
love342
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-7-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
怎样返回数组
我是一个初学者,我想问一下在函数中我怎样将一个数组返回给main函数。谢谢大家!
搜索更多相关主题的帖子: 数组 
2009-07-24 19:55
黯然神伤
Rank: 2
等 级:论坛游民
帖 子:18
专家分:39
注 册:2009-2-5
收藏
得分:2 
数组是没有办法返回主函数的,因为每次只能返回一个数据,想要解决这个问题你可以在主函数定义一个指针,在子函数中调用指针,这样就可以了
2009-07-24 21:43
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:2 
#include <iostream.h>
int * re()
{
    int a[10];
    for(int i=0;i<10;i++)
    a[i]=i;
    return a;
}

void main()
{
    int *b;
    b=re();
    cout<<b[1];

}
这样行不
2009-07-24 21:51
ET_bug
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:黑侠
帖 子:89
专家分:602
注 册:2009-7-21
收藏
得分:2 
赞同2楼,3楼的想法,要返回数组只能用指针实现

编程之路无止境!
可是小子才入门!
2009-07-24 23:08
yu5890681yu
Rank: 2
等 级:论坛游民
帖 子:18
专家分:11
注 册:2009-7-22
收藏
得分:2 
回复 楼主 love342
楼主要是想用数组中的某个元素的话,直接返回就行了,如果要是用整个数组,建议定义一个指针指向数组的首元素,然后返回这个指针就行了
2009-07-24 23:16
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:2 
回复 3楼 mfkblue
3楼说的不行。

函数里定义的 int a[10] 是个局部变量。生存期就函数那么短,等函数返回了,生存期就没了,外面的b接到了只是一个当时a数组的首地址,但那个数组现在已经没了,那片内存里现在还有什么就说不清了。
这么写是很危险的,一般编译器可能会报类似“返回局部变量的地址”之类的警告,要避免写这样的代码。

当然如果用的数组是个全局数组,那就没是了。但全局数组也没有什么传参,或者返回的需要。
没有直接返回一个数组的语法。(当然要用类似封装一个数组也话可以,但那样做既没有效率,也没什么特别的意义。)
对于数组一般在参数或返回值这里理解成指针要好一些~
2009-07-25 00:01
cedricporter
Rank: 1
等 级:新手上路
帖 子:49
专家分:3
注 册:2007-2-6
收藏
得分:2 
回复 6楼 pangding
一语惊醒梦中人...

清脆的口琴聲﹏悠揚的旋律﹏然而︵每個音符︵?°都充滿了悲傷︵?°~↘
2009-07-28 22:21
bmc
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2009-7-23
收藏
得分:2 
回复 6楼 pangding
顶!说的透彻!
2009-07-29 00:15
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:0 
。。。
还好来看了一眼,我经常这样写.
2009-07-29 15:55
cqcqcqcq555
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2009-1-22
收藏
得分:2 
……可以这样的啊……我居然每次都是建立一个类来代替数组返回……
2009-07-29 21:43
快速回复:怎样返回数组
数据加载中...
 
   



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

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