[向ganpengjin1,turingo提问] 问一个简单问题(2)如何声明一个返回数组的函数

kkun_3yue3 2013-07-10 11:00:07

如图所示,VS2010提示语法错误,我该如何声明这个函数才能做到:
1),返回数组参数a的引用或者指针?
2),如果要返回全新的数组呢?
...全文
165 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
图灵狗 2013-07-10
  • 打赏
  • 举报
回复
大概是这样的做法:

int* quick_sort(int a[])
{
    int* b = (int*)malloc(100);
    ...
    return b;
}

...

int a[] = {1, 2, 3};
int* b = quick_sort(a);
...
free(b);
引用 楼主 kkun_3yue3 的回复:
如图所示,VS2010提示语法错误,我该如何声明这个函数才能做到: 1),返回数组参数a的引用或者指针? 2),如果要返回全新的数组呢?
minnnnmi 2013-07-10
  • 打赏
  • 举报
回复
void quick_sort(int *a) // 这个参数其实既是一个输入类型的参数,也是个输出类型的参数。
rocktyt 2013-07-10
  • 打赏
  • 举报
回复
引用 8 楼 kkun_3yue3 的回复:
[quote=引用 5 楼 rocktyt2 的回复:] [quote=引用 4 楼 kkun_3yue3 的回复:] [quote=引用 1 楼 starytx 的回复:] int * quick_sort(int a[]) { return a; }
int *不是返回int指针吗?它与int[]不等同吧[/quote] quick_sort(int a[])传进去的参数实际上也是int*啊[/quote] 那我是不是可以这样声明
int * quick_sort(int *a)
{
    return a;
}
[/quote]可以
  • 打赏
  • 举报
回复
可以返回数组的指针,但必须指定数组的大小
typedef int(Array)[10];
Array* quick_sort( Array* a )
{
	return a;
}
真不如
int* quick_sort( int*a )
{
	return a;
}
minnnnmi 2013-07-10
  • 打赏
  • 举报
回复
可以这样,其实你没必要返回值。 void quick_sort(int *a) { return; } 就行了。
kkun_3yue3 2013-07-10
  • 打赏
  • 举报
回复
引用 5 楼 rocktyt2 的回复:
[quote=引用 4 楼 kkun_3yue3 的回复:] [quote=引用 1 楼 starytx 的回复:] int * quick_sort(int a[]) { return a; }
int *不是返回int指针吗?它与int[]不等同吧[/quote] quick_sort(int a[])传进去的参数实际上也是int*啊[/quote] 那我是不是可以这样声明
int * quick_sort(int *a)
{
    return a;
}
minnnnmi 2013-07-10
  • 打赏
  • 举报
回复
一般的需求,你返回个数组指针就行了。 或者你用vector来代替。
minnnnmi 2013-07-10
  • 打赏
  • 举报
回复
C++不能返回数组,数组本身又不支持赋值操作。 int a[5]; int b[5]; b = a; // c++不支持这样的操作
rocktyt 2013-07-10
  • 打赏
  • 举报
回复
引用 4 楼 kkun_3yue3 的回复:
[quote=引用 1 楼 starytx 的回复:] int * quick_sort(int a[]) { return a; }
int *不是返回int指针吗?它与int[]不等同吧[/quote] quick_sort(int a[])传进去的参数实际上也是int*啊
kkun_3yue3 2013-07-10
  • 打赏
  • 举报
回复
引用 1 楼 starytx 的回复:
int * quick_sort(int a[]) { return a; }
int *不是返回int指针吗?它与int[]不等同吧
rocktyt 2013-07-10
  • 打赏
  • 举报
回复
可以考虑一下返回std::array
sduxiaoxiang 2013-07-10
  • 打赏
  • 举报
回复
返回int*就是 全新的new了返回就是了 ,用完delete就ok
starytx 2013-07-10
  • 打赏
  • 举报
回复
int * quick_sort(int a[]) { return a; }
在当今数字化时代,企业财务管理正经历着一场革命性的变革。"智慧账务报账服务平台解决方案ppt.zip"便是这一变革的先锋代表,它不仅仅是一个文档或PPT,而是一套完整的、智能化的企业财务解决方案。该平台利用最新的云计算技术、大数据分析、人工智能以及机器学习算法,为企业提供了一个高效、精准、便捷的报账和财务管理体系。这套解决方案专为满足现代企业复杂多变的财务需求而设计,其核心在于自动化和智能化。通过自动识别票据信息、智能审核报账单据、实时监控财务流程等功能,极大地减少了人工操作,降低了错误率,提高了工作效率。同时,平台的数据分析功能能够为企业提供深入的财务洞察,帮助企业制定更为科学的财务决策。此外,该解决方案还具备强大的可扩展性和安全性,能够适应不同规模和类型的企业需求,确保财务数据的安全和隐私。无论是在招投标过程中展示企业的创新能力,还是在日常运营中提升财务管理水平,"智慧账务报账服务平台解决方案ppt.zip"都是企业数字化转型不可或缺的伙伴。综上所述,这个解决方案不仅仅是一个智慧财务的工具,更是企业向数字化管理转型的桥梁,它能够帮助企业实现财务管理的现代化,提升竞争力,迎接未来挑战

64,266

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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