
c语言 main函数调用子函数后,怎么获取子函数的返回值/数组 ,并将返回值/数组 赋给main函数的一个变量
6个回答
展开全部
楼上的纯属误导新人,子函数中的数组,你可以通过在子函数分配一块内存,将你的数组内容copy到内存里,然后将这个内存的地址作为一个参数返回即可,给你写一个简单的例子吧(纯手工敲的,给分哟):
main()
{
char * ptr;
int SIZE = 1024;
ptr = subFunc();
/* 使用完记得释放内存 */
free(ptr);
}
char * subFunc()
{
char * ptr_tmp;
int array_tmp[1024] = {}; /* 假如数组已经初始化 */
if (null != (ptr_cmp = malloc(SIZE+1)) )
{
memcpy(ptr_cmp, array_tmp, SIZE);
*ptr_cmp = '\0';
return ptr_cmp;
}
}
main()
{
char * ptr;
int SIZE = 1024;
ptr = subFunc();
/* 使用完记得释放内存 */
free(ptr);
}
char * subFunc()
{
char * ptr_tmp;
int array_tmp[1024] = {}; /* 假如数组已经初始化 */
if (null != (ptr_cmp = malloc(SIZE+1)) )
{
memcpy(ptr_cmp, array_tmp, SIZE);
*ptr_cmp = '\0';
return ptr_cmp;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询