c语言里如何返回一个指针数组?

volcan1987 2012-06-11 06:08:01
各位好

如果一个函数想要返回一个指针数组,该如何写函数呢?跪求段小代码,谢谢!
...全文
3798 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
电子科学 2014-10-22
  • 打赏
  • 举报
回复
学习到了,谢谢楼上各位
stbdly 2013-06-24
  • 打赏
  • 举报
回复
我也遇到了此类问题,谢谢各位大侠。
夏天__ 2012-06-12
  • 打赏
  • 举报
回复
返回数组指针。

在调用函数中要申请空间。
星星x 2012-06-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

示例代码
C/C++ code

#include <stdio.h>
#include <stdlib.h>

int* fun(int nsize) {
int* p=(int*) malloc(sizeof(int)*nsize);
return p;
}
int main(void)
{
int *p=fun(5);
int i;
fo……
[/Quote] 支持这个、。。。
AnYidan 2012-06-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

其实也就是返回指针而已。C语言里是没有办法返回数组的。
[/Quote]

就是指针,关它是 int, char, 还是别的
liangbch 2012-06-11
  • 打赏
  • 举报
回复
如果是perl,他可以返回一个数组。c语言可返回基本数据类型和结构体,不可以返回数组,建议楼主修改接口。比如,传入一个指针的指针,在被调函数中修改指针的值。
au_key 2012-06-11
  • 打赏
  • 举报
回复
定义一个指向这个指针数组的指针,然后返回这个指针行吗。。
W170532934 2012-06-11
  • 打赏
  • 举报
回复
其实也就是返回指针而已。C语言里是没有办法返回数组的。
feng4206yu 2012-06-11
  • 打赏
  • 举报
回复
饿..C无法返回数组,何谈返回指针数组...最好是返回指向这个指针数组的指针吧.
demonleer 2012-06-11
  • 打赏
  • 举报
回复 1
刚才没插入代码,这个好看点。


#include <stdio.h>

int **your_function(int *pArray[])
{
*pArray[0] = 1;
*pArray[1] = 2;
*pArray[2] = 3;
return pArray;
}

void print_array(int *pArray[])
{
int i = 0;
for (; i<3; i++)
{
printf("%d ",*pArray[i]);
}
printf("\n");
}

void main()
{
int a = 5, b = 4, c = 3;
int *array[3] = {&a,&b,&c};
int **p;
print_array(array);
p = your_function(array);
print_array(p);
}
demonleer 2012-06-11
  • 打赏
  • 举报
回复
首先定义一个指针数组: int * array[];

#include <stdio.h>

int **your_function(int *pArray[])
{
*pArray[0] = 1;
*pArray[1] = 2;
*pArray[2] = 3;
return pArray;
}

void print_array(int *pArray[])
{
int i = 0;
for (; i<3; i++)
{
printf("%d ",*pArray[i]);
}
printf("\n");
}

void main()
{
int a = 5, b = 4, c = 3;
int *array[3] = {&a,&b,&c};
int **p;
print_array(array);
p = your_function(array);
print_array(p);
}

希望对你有帮助。
tongzhipeng5699 2012-06-11
  • 打赏
  • 举报
回复
示例代码

#include <stdio.h>
#include <stdlib.h>

int* fun(int nsize) {
int* p=(int*) malloc(sizeof(int)*nsize);
return p;
}
int main(void)
{
int *p=fun(5);
int i;
for(i=0;i<5;i++)
p[i]=i;
for(i=0;i<5;i++)
printf("%d ",p[i]);
printf("\n");
free(p);
return 0;
}
Canvas 2012-06-11
  • 打赏
  • 举报
回复
...........返回指针数组的头指针就可以啦
pois 2012-06-11
  • 打赏
  • 举报
回复
YOURTYPE *urFunc(...) [n];

70,023

社区成员

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

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