C Memset在外部功能中不工作

C Memset在外部功能中不工作,c,memset,C,Memset,这给了我一个memset的segfault,我不知道为什么,我要去一个2D数组的特定索引,这应该给我一个char指针,并允许我使用memeset void test(char** test) { int i; for(i=0;i<20;i++) { memset(test[i],0,sizeof(char)*1); return; } } int main() { char thing[20][20];

这给了我一个memset的segfault,我不知道为什么,我要去一个2D数组的特定索引,这应该给我一个char指针,并允许我使用memeset

void test(char** test)
{

    int i;
    for(i=0;i<20;i++)
    {

        memset(test[i],0,sizeof(char)*1);
        return;
    }
}

int main()
{

    char thing[20][20];
    int i;
    for(i=0;i<20;i++)
    {
        memset(thing[i],0,sizeof(char)*20);
    }
    test(thing);
    return 0;
}
无效测试(字符**测试)
{
int i;

对于(i=0;i您的参数声明不正确,应该是:

void test(char test[20][20])
或:


请参阅。数组不是指针。警告不是为了好玩!
应为“char**”,但参数类型为“char(*)[20]”
void test(char test[][20])