c函数如何返回二维数组

推荐 生活 2019-02-11 17:20:33 277

本文收集整理关于c函数如何返回二维数组的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:c++如何自定义一个返回二维数组的函数而不是首地址?
  • Q2:C语言函数返回值为二维数组
  • Q3:C语言中 指针做函数参数传递二维数组
  • Q4:C语言函数可以返回二维数组首地址吗
  • Q1:c++如何自定义一个返回二维数组的函数而不是首地址?

    题主,你好。严sir课堂很高兴来回答这个问题。

    你的问题是:c++如何自定义一个返回二维数组的函数而不是首地址?

    我的理解是:你想定义一个函数,这个函数返回一个二维数组而不是数组的首地址。

    第一:函数是不能返回二维数组的。

    c++中,函数的返回值,一定是一个具体的值,或是一个指针,不可能是返回一个二维数组的。

    通常情况,如果我们想用一个自定义函数对二维数组进行操作或改变,我们的常规做法是把这二维数组做为实参传进函数当中的形参。

    众所周知,函数参数的传递有两种:

    第二:如果不想把二维数组做为参数来传递,你可以把二维数组定义为全局型数组(public)

    如果你觉得在函数中去进行二维数组传递比较麻烦,你可以考虑将二维数组定义为全局型数组。

    好处在于:可以在很多个函数当中去使用同一个数组,感觉上比较方便。

    坏处在于:破坏了程序的封闭性,为后续程序的排错埋下了坑。

    以上便是严Sir课堂对于这个问题的回答。希望能帮助到你。

    Q2:C语言函数返回值为二维数组

    函数不能返回一个数组,只能返回一个变量,或地址 。如果你想直接返回一个二维数组,这是做不到的。你可以用下面的方法 ,先建一个结构体。struct array{int a[3][3];}; array solve(){array a;return a;} 通过这种方法,来得到二维数组。

    Q3:C语言中 指针做函数参数传递二维数组

    C语言中 指针做函数参数传递二维数组有两种基本方法:

    1、传递“数组指针”

    123456789101112131415161718#includevoidoutput(int(*pa)[3],intn)//这个函数只能输出n行3列的二维数组{inti,j;for(i=0;i2、传递“指针数组” 先将二维数组的行指针存储到一个指针数组中,再将指针数组传递到子函数中去。

    12345678910111213141516171819202122#includevoidoutput(int*pa[],introw,intcol)//这个函数更通用,但调用前,要做好准备工作。{inti,j;for(i=0;i

    Q4:C语言函数可以返回二维数组首地址吗

    C语言中函数不能直接返回一个二维数组。但是可以通过其他方法实现类似功能:
    1、把二维数组定义为全局变量 这样可以直接在另一个函数中调用
    2、把二维数组作为指针传入到第一个函数中 然后同样作为指针传到另一个函数中
    3、动态分配内存 在赋值函数中动态分配 并用返回值返回,在另一个函数中进行访问

    相关文章
    c语言函数的定义和声明2019-01-12
    sumif函数怎样分别求和2019-01-17
    统计不重复个数的函数2019-02-01
    excel查找函数精确查找2019-02-02
    3个条件的if函数怎么用2019-02-03
    matlab定义一个新函数2019-02-04
    vlookup函数的使用方法2019-02-05
    测量字符串长度的函数2019-02-05
    excel最常用的八个函数2019-02-05
    如何在excel表格中输入函数2019-02-05