如何将2d数组作为参数传递给C中的函数

时间:2014-10-23 19:01:32

标签: c arrays 2d

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

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

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

1 个答案:

答案 0 :(得分:1)

将2D数组作为函数参数传递的简单示例:


#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]);
}