2016-04-16 6 views
-3

Wie kann ich das Vars-Array auf alle Null '0' Werte setzen?Setzen Sie das char-Array auf alle Nullwerte (in C)

typedef char array_t[100]; 

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

Danke für Ihre Hilfe.

+5

Verwenden Sie Schleife oder 'memset'. Bitte frage nicht, wie das geht. – haccks

+0

Ihr typedef für 'array_t' ist fast sicher nicht das, was Sie wollen. Insbesondere können Sie diesen Typ nicht als Wert übergeben, da er bei Verwendung als Funktionsargument in ein "char *" zerfällt. –

Antwort

0

Verwenden Sie einfach memset():

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]); 
    } 
} 

wo num die Länge len ist.