首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将子矩阵作为参数传递

如何将子矩阵作为参数传递
EN

Stack Overflow用户
提问于 2020-08-23 05:05:04
回答 2查看 55关注 0票数 0

假设我有一个执行特定任务的递归函数。该函数接收整数矩阵的单个参数。有没有一种方法可以在后续的函数调用中传递一个子矩阵作为参数,以类似于将指针前进到数组的方式(假设arr[10]是我们的数组。然后,执行arr += 1会将数组的开头向前推进一个索引。

此外,函数的签名不能更改。

示例:

代码语言:javascript
运行
复制
void f(int matrix[N][N])
{
    // Some code here
    f(matrix+1);
}
EN

回答 2

Stack Overflow用户

发布于 2020-08-23 06:05:50

是否有一种方法可以在后续函数调用期间将子矩阵作为参数传递

不能,但您可以传递要获取的子矩阵的描述。例如,您可以将指针传递给外部矩阵和4个参数,这些参数描述了子矩阵的偏移量及其大小。

票数 0
EN

Stack Overflow用户

发布于 2020-08-23 06:59:16

如果不允许更改函数签名,则可以维护一个全局变量来跟踪索引计数器:

代码语言:javascript
运行
复制
int cN = 0;
void f(int m[N][N])
{
    printf("%d\n", m[cN][0]);
    if(cN < N - 1)
    {
        cN++;
        f(m);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63541096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档