将动态数组传递给c中的函数

时间:2012-12-07 21:37:22

标签: c function

创建此动态数组后:

int *A = (int *) calloc(n,sizeof(int));
int *B = (int *) calloc(n,sizeof(int));
int *C = (int *) calloc(n,sizeof(int));

我需要将它们传递给这个函数function2(A,B,C,n);但是我得到函数'function2'的隐式声明。请帮助。谢谢。

1 个答案:

答案 0 :(得分:4)

您需要在调用之前声明或定义函数。如下所示:

void function2(int *a, int *b, int *c, int n)
{
    ...
}

int main(int, char **)
{
    int *A, *B, *C, n = 123;

    ...

    A = (int *) calloc(n,sizeof(int));
    B = (int *) calloc(n,sizeof(int));
    C = (int *) calloc(n,sizeof(int));

    function2(A, B, C, n);

    ...

    return 0;
}

或者

void function2(int *a, int *b, int *c, int n);

int main(int, char **)
{
    int *A, *B, *C, n = 123;

    ...

    A = (int *) calloc(n,sizeof(int));
    B = (int *) calloc(n,sizeof(int));
    C = (int *) calloc(n,sizeof(int));

    function2(A, B, C, n);

    ...

    return 0;
}

void function2(int *a, int *b, int *c, int n)
{
    ...
}