2016-04-16 4 views
-3

どのようにしてvars配列をすべて0の値に設定できますか?char配列をすべて0の値に設定します(C言語)

typedef char array_t[100]; 

void 
setvars(array_t vars[], int lens[]) { 
/*vars : 10 numbers 
lens : the length of 10 numbers in vars 
*/ 
. 
. 
. 
} 

ありがとうございました。

+5

ループまたは 'memset'を使用してください。それをどうやって行うのか尋ねないでください。 – haccks

+0

'array_t'のtypedefはあなたが望むものではありません。特に、その型を値で渡すことはできません。なぜなら、それは関数の引数として使用されたときに '' char * ''に ''崩壊するからです。 –

答えて

0

は単にmemset()を使用します。numlenの長さである

void 
setvars(array_t *vars, size_t num, size_t *len) { 
    size_t i; 
    for(i = 0; i < num; i++) 
    { 
     memset(vars[i], 0, len[i]); 
    } 
} 

関連する問題