2013-10-01 97 views
-1

這是給我的memset的段錯誤,我不知道爲什麼,我要一個二維數組的具體指標,這應該給我一個字符指針,並允許我使用memeset 。MEMSET不是在外面功能工作

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; 
} 
+1

請參閱[C FAQ](http://c-faq.com/ aryptr/pass2dary.html)。數組不是指針。 –

+1

警告都沒有的樂趣! '期望'char **',但參數的類型是'char(*)[20]'' – P0W

回答

0

您的參數聲明是不正確,應該是:

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

或:

void test(char test[][20])