C语言中如何从函数中返回一个数组

不用Static变量,怎样给主函数返回一个数组??

不能返回数组,可以反回数组的首地址,也就是返回指针
至于数组的大小可以设置一个输出型变量指针,在调用函数的时候传到函数里,做一下记录.
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-10-01
有一种方法可以做到,
例如
int *creat()
{
int *p=(*int)malloc( 你要的大小);
return p;
}
在开辟了一个数组,但到最后不要忘了使用free()把内存返回系统;本回答被提问者采纳
第2个回答  2007-07-02
用指针或
结构:
typedef struct st_name {
float array[100];
} ST_NAME;

声明
ST_NAME my_func1(...){
};
float * my_func2(...){
}
第3个回答  2007-07-02
用指针才好吧

C语言中如何从函数中返回一个数组
不能返回数组,可以反回数组的首地址,也就是返回指针 至于数组的大小可以设置一个输出型变量指针,在调用函数的时候传到函数里,做一下记录.

怎么使C语言的函数返回值为一个数组
\/\/ 方法2,用指针传递 void SubFunction(char *pText1, char *pText2){ \/\/ 对pText1, pText2运算 strcpy(pText1, "love");strcpy(pText2, "you");return;} void Caller() \/\/ 这个函数调用SubFunction { char szText1[5], szText2[5]; \/\/ 当然这里也可以动态分配内存 SubFunction(s...

c语言中函数能返回一个数组吗
不能直接返回一个数组,但是可以用其他方式实现类似功能。方法1:利用全局变量 分析:全局变量作为C语言的一个知识点,虽然我们都了解它的特点,但在实际教学过程中应用得并不是很多。由于全局变量的作用域是从定义变量开始直到程序结束,而对于编写有多个返回值的C语言函数,我们可以考虑把要返回的多个值定...

C语言函数中怎么返回一个二维数组
1、我们首先定义一个二级指针和一个行列变量[int ** array,row,column;]。2、然后我们编写进入行和列的语句,代码如图所示。3、接下来我们可以用一维数组打开一维一维数组。4、接下来,我们使用[array [i] =(int *)malloc(sizeof(int)* column);]来为数组再次生成包含该数组的新数组。5、...

C语言中,return语句怎么样返回一个数组?
由于C\/C++是允许返回结构体的,可以定义一个结构体模板,把数组作为成员安排在其中,函数中临时声明结构体变量,操作其中的数组;完毕后返回结构体变量,在主调函数中用同类型的结构体变量接收就可间接实现“返回一个数组”。举例代码如下:include "stdio.h"struct A{int m[30];\/\/把数组m安排在结构...

c语言中怎样返回一个数组?
在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组。在大多数情况下,一维数组和一维指针是可以通用的。比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。如出错,返回空指针NULL。 代码可以写成如下形式:int *int_array_create(int n)\/\/...

C语言函数如何return数组?
数组在作为函数返回值或者函数参数时,实际上只作为指针来返回或者传递的。因此返回值用指针数据类型。比如下面的代码:int g_a[4] = {1,2,3,4};int * retn_arrary() \/\/返回值用指针类型即要。{return g_a; }

在C语言中如何使函数返回数组
在C\/C++中,一般有两种方法来返回一个数组。第一种方法:返回一个指向数组的指针,例如char (*retArray)[10]声明了一个函数retArray,该函数可以返回指向具有10个char元素的数组例子如下:#include#includeint (*retArray())[10]{int (*a)[10];int i=0;\/*动态开辟空间*\/a=calloc(10,sizeof(...

C语言中函数中传入一个数组,并且返回一个数组
a[]);int main (){int a[]={0,1,0,1,1,0,1,0};int *b =arry(a) ; int i;for (i = 0;i<8;i++){printf ("%d " , a[i]);} return 0;}int *arry ( int a[]){ int i;for (i = 0;i<8;i++){if (a[i]==0){a[i]=1;}else {a[i]=0;}}...

C语言函数中返回数组
h> main(){ int b[3];pop(b,3);} void pop(int a[],int n)\/\/该方法传入两个参数,第一个是传入指向数组的地址,第二个参数是传入数组的长度,不需写返回语句return,只需通过指向数组的地址的传入就可以直接将数组b[]的值改变 { int i;for(i=0;i<n;i++)a[i]=i;} ...

相似回答