c,在函数中传递char数组作为参数?

时间:2013-10-25 17:48:23

标签: c arrays char arguments

 int check(int i,int j,char test);

   int main(int argc, char *argv[])
{
    char mat[5][5];
    char *anahtar;
    anahtar=(char*)malloc (length*sizeof(char));
    //i take length from user with scanf

    int k=0;
    if (check(i,j,anahtar[k])==1)
    {
        mat[i][j]=anahtar[k];
    }

    int check(int i,int j,char test)
    {
        int a=0;
        int b=0;
        if (mat[a][b]==test)
        {
            return 1;                                
        }
        else
        {
            return 0;
        }
    }

}

它给出了错误

undefined reference to `check'|

anahtar []是一个char数组。为什么我不能在论证中传递anahtar [k]?

我已经有了原型。 PRoblem不是那样的。

2 个答案:

答案 0 :(得分:1)

问题是您的check功能位于main内。将其放在main之外。

也不要施放malloc;

anahtar = malloc (length*sizeof(char));

答案 1 :(得分:0)

您需要在使用之前声明它或 事先说出来

  

int check(int i,int j,char test);