函数的返回值类型可以是数组吗?

iceman19860106 2008-10-30 06:08:53
请问各位大虾:
在C语言中函数的返回值类型可以是数组吗?知道的可以给个示例代码吗??
...全文
1534 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hackxq 2008-10-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiaoyuer5222 的回复:]
函数返回类型是不能为数组的
要从函数中得到一个数组,
1.可以返回一个指针
2.可以将数组放在结构体中,返回结构体类型

int *func();

struct Array{
  int a[100];
};

struct Array func();

[/Quote]
把数组放在结构体中是个不错的办法,在对整个数组进行操作时也比较方便
zsf0615020117 2008-10-30
  • 打赏
  • 举报
回复
可以
不过你的函数要为指针函数
eg:int *fun()
这样函数返回的是整形数组的首地址
leboc 2008-10-30
  • 打赏
  • 举报
回复
函数的返回值类型只能是2种: 1.具体数值 2.地址
zsf0615020117 2008-10-30
  • 打赏
  • 举报
回复
可以
不过你的函数要为指针函数
eg:int *fun()
这样函数返回的是整形数组的首地址
帅得不敢出门 2008-10-30
  • 打赏
  • 举报
回复
返回结构体 结构体中包含数组 就行了.
冻结 2008-10-30
  • 打赏
  • 举报
回复
C++ primer 很明白的指出不可以!
Arthur_ 2008-10-30
  • 打赏
  • 举报
回复
不可以。
xiaoyuer5222 2008-10-30
  • 打赏
  • 举报
回复
函数返回类型是不能为数组的
要从函数中得到一个数组,
1.可以返回一个指针
2.可以将数组放在结构体中,返回结构体类型

int *func();

struct Array{
int a[100];
};

struct Array func();
机智的呆呆 2008-10-30
  • 打赏
  • 举报
回复
c/c++不能返回数组,只能返回数组的首地址值,
jvav可以
kolige 2008-10-30
  • 打赏
  • 举报
回复
看你返回的数组是什么时候创建的.
如果你的数组是在函数里面创建的,如果不是new出来的,那么返回就会出错,因为局部变量不能返回;(new当然可以)
如果你的数组是在主函数里面创建,再将其传进调用函数里面,也可返回,不过这样根本没有必要返回。

在C++里面,返回结构,类对象是可以的,前提是复制构造函数要完善。

个人见解
XiaoMii 2008-10-30
  • 打赏
  • 举报
回复
好像不行,因为数组名其实就是首地址啊
aaa249924729 2008-10-30
  • 打赏
  • 举报
回复
sdfsdfsdfsdfsdfsdfsdfsdf

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧