c语言中怎样返回一个数组?
答案:7 悬赏:60 手机版
解决时间 2021-03-20 06:10
- 提问者网友:疯孩纸
- 2021-03-19 19:20
c语言中怎样返回一个数组?
最佳答案
- 五星知识达人网友:纵马山川剑自提
- 2021-03-19 19:27
在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组。
在大多数情况下,一维数组和一维指针是可以通用的。
比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。如出错,返回空指针NULL。 代码可以写成如下形式:
int *int_array_create(int n)//参数n为数组元素个数
{
int *r;
if(n<=0) return NULL;//参数错误
r = (int *)malloc(sizeof(int)*n);//申请内存空间,大小为n个int长度。
return r;//返回得到的整型数组的指针。
}
在大多数情况下,一维数组和一维指针是可以通用的。
比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。如出错,返回空指针NULL。 代码可以写成如下形式:
int *int_array_create(int n)//参数n为数组元素个数
{
int *r;
if(n<=0) return NULL;//参数错误
r = (int *)malloc(sizeof(int)*n);//申请内存空间,大小为n个int长度。
return r;//返回得到的整型数组的指针。
}
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-03-20 00:25
你说的是使用函数吗追问是的,函数的调用为z[10][10]=jz(x,y);
返回为return(z);其中x,y,z,为数组,请问这样能直接将被调函数中z数组的值返回给主调函数中的z数组么?追答这样是不行的,数组与数组之间是不能这样直接赋值的
返回为return(z);其中x,y,z,为数组,请问这样能直接将被调函数中z数组的值返回给主调函数中的z数组么?追答这样是不行的,数组与数组之间是不能这样直接赋值的
- 2楼网友:佘樂
- 2021-03-19 23:20
数组不用返回吧,它一般会自动返回的!
- 3楼网友:舍身薄凉客
- 2021-03-19 21:48
可以定义一个指向数组的指针或者定义一个指针数组。。。
- 4楼网友:duile
- 2021-03-19 21:31
只能返回一个数,数组不能返回,以数组为函数参数传给形参时,由于是数组名传递(地址传递),实参和形参共用一段内存,对形参更改时实参的值也会改变,所以不需要返回值
- 5楼网友:煞尾
- 2021-03-19 20:59
动态分配一块内存,返回指针。
或者调用函数之前分配好内存,将指针传递给函数,通过指针,将数组写入,比较推荐这种方法。
或者通过全局变量 。
或者调用函数之前分配好内存,将指针传递给函数,通过指针,将数组写入,比较推荐这种方法。
或者通过全局变量 。
- 6楼网友:拜訪者
- 2021-03-19 20:38
只能返回一个数,数组不能返回,以数组为函数参数传给形参时,由于是数组名传递(地址传递),实参和形参共用一段内存,对形参更改时实参的值也会改变,所以不需要返回值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯