如何在C中返回数组

用户名

我知道这个问题以前曾被问过,但无法以与我在这里描述的方式相同的方式找到它:

这一切都是关于以c语言返回一维数组。在Java中,它非常简单:

 double[] myFunction() {

   double[] v = new double[10];

   return v;
 }

我知道在c中的实现是不一样的。但是由于可以将数组元素视为指向该数组中第一个元素的指针,因此我认为可以执行以下实现:

 double (*myFunction()) {

    double v[10];

    return v;
 }

这在gcc中可以正常编译,但是当我调用该函数时,出现编译错误。

所以我的问题-如何在c语言中返回一维向量?

谢谢

蓝精灵

样例代码

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

double *myFunction1(){
    return malloc(10*sizeof(double));
}

double (*myFunction2())[10]{
    double (*p)[10];
    p = malloc(sizeof(double[10]));
    return p;
}

typedef struct d10 {
    double vec[10];
} D10;

D10 myFunction3(){//Make little sense
    D10 v = {{0}};
    v.vec[9]=1.25;

    return v;
}

int main(){
    double *v1 = myFunction1();
    double (*v2)[10] = myFunction2();
    D10 v3= myFunction3();
    //do something
    printf("%lf\n", v3.vec[9]);
    v1[0] = 3.14;
    (*v2)[0] = 3.14 * 2;
    free(v1);
    free(v2);
    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++中返回结构数组?

来自分类Dev

如何在c中返回数组文字?

来自分类Dev

如何在C中返回数组?

来自分类Dev

如何在C / C ++函数中返回char *数组?

来自分类Dev

如何在C ++中返回二维数组

来自分类Dev

如何在C中返回未知大小的数组

来自分类Dev

如何在C#中从数据库返回数组

来自分类Dev

如何在Lisp中返回子数组?

来自分类Dev

如何在Codeigniter中返回多维数组

来自分类常见问题

如何在json的数组中返回对象

来自分类Dev

如何在函数中返回指针数组?

来自分类Dev

如何在C ++中构建动态数组并将其返回到C#/。NET

来自分类Dev

如何在C ++中构建动态数组并将其返回到C#/。NET

来自分类Dev

如何在数组公式中返回计算数组

来自分类Dev

如何使用pthreads在c中返回数组?

来自分类Dev

如何在C中返回静态分配的二维数组?

来自分类Dev

如何在C#消耗的Java Web服务中返回带有数组的类

来自分类Dev

如何在C编程中为一组元素建立索引并返回索引数组

来自分类Dev

如何在C#中访问由包装的非.net API返回的数组?

来自分类Dev

如何在C#消耗的Java Web服务中返回带有数组的类

来自分类Dev

如何在c#中返回一个对象数组

来自分类Dev

如何在C中返回指向字符串数组的指针

来自分类Dev

如何在php中的AJAX调用中返回数组

来自分类Dev

如何在JS中返回相同次数的数组中的元素

来自分类Dev

如何在C中返回匿名结构?

来自分类Dev

如何在C中返回匿名结构?

来自分类Dev

如何在C中返回坐标结构

来自分类Dev

如何在C中返回char(*)[6]?

来自分类Dev

如何在C ++中返回矩阵指针?