Это не массив символов;это массив указателей символов.Удалите *
, чтобы сделать его массивом символов:
char c[20];
Тогда вы можете использовать strcpy:
strcpy(c, "undefined");
Если вы действительно хотите массив массивов символов, выдолжен сделать то, что вы сказали, что пытались:
// array that holds 20 arrays that can hold up to 70 chars each
char c[20][70];
// copy "undefined" into the third element
strcpy(c[2], "undefined");
Возможно, проблема в том, что вы пропустили закрывающий "
, хотя я не знаю, была ли это ошибка вставки.Или проблема могла заключаться в том, что вы используете k
без его определения, мы не можем знать, не увидев полученного сообщения об ошибке.
Если вы хотите установить их все в эту строку, топросто зациклите их:
char c[20][70];
int i;
for (i = 0; i < 20; ++i)
strcpy(c[i], "undefined");