【问题标题】:How to pass a 2d array as an argument to a function in C [duplicate]如何将二维数组作为参数传递给C中的函数[重复]
【发布时间】:2014-10-23 19:01:31
【问题描述】:

我在我的主函数中使用int weight[numComponents][numSchemes]; 初始化了一个 2D int 数组 现在我想将它传递给一个函数来添加项目。

我想知道这样做的正确方法是什么。 我遇到了这个答案C -- passing a 2d array as a function argument?

但似乎数组是在函数本身而不是事先初始化的。 如果有人可以提供帮助,那就太好了。只是希望能够提取一些语句,例如 weight[0][0] = 50; weight[0][3] = 20;

【问题讨论】:

  • 你也可以传递一个初始化的数组;)
  • 正确的方法是什么? void weightInput(int array[][])
  • 与您发布的链接中接受的答案差不多。
  • 这只是一个示例,您可以在函数中执行操作。你的问题在哪里?你尝试了什么?
  • 如果 numComponentsnumSchemes 是全局变量,那么是的,否则你也应该传递它们

标签: c arrays 2d


【解决方案1】:

将二维数组作为函数参数传递的简单示例:


#include <stdio.h>

void weightInput(int numComponents, int numSchemes, int weight[][numSchemes])
{
    weight[0][0] = 50;
    weight[0][3] = 20;
}
int main() 
{
    int numComponents = 3, numSchemes = 4;
    int weight[numComponents][numSchemes];
    weightInput(numComponents, numSchemes, weight);
    printf("%d\n", weight[0][0]);
    printf("%d\n", weight[0][3]);
}

【讨论】:

    猜你喜欢
    • 2022-08-09
    • 1970-01-01
    • 2012-01-22
    • 2013-01-18
    • 2013-03-28
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2013-05-12
    相关资源
    最近更新 更多