Здесь вы используете концепцию глобальных переменных. Они инициализируются до 0, поэтому вы можете использовать его так.
Вы правильно в этом случае, за исключением, если вы измените buf[2000]
на buf[1000]
то вам придется внести некоторые изменения, как это:
for (int i = 0 ; i < 1000; i++) {// change i<2000 to i<1000 otherwise you may get a segmentation fault error
a[i] = new_str[i];
}
И да, в то время как дело с передачей массивов в функции, вы должны пройти ИТС размер, как описано в других ответах. :)
NOTE--Вы не инициализирует массив с помощью функции ini
, Вы фактически присваивая значения массива buf
, и это ответ в соответствии с этим. Если вы хотите инициализировать массив, то другие ответы соответствуют достаточно хорошо, иначе сделайте еще одно изменение, если вы ошибаетесь при инициализации для назначения.
Комментарий в главном, т.е.,
ини (BUF); // присваиваем ЬиЕ
Мой ответ в соответствии с этим, если это то, что вы хотите сделать :)
Вы хотите начать свой бафф с того, что 0 или значение внутри new_str? – Alexis
Почему этот вопрос получает так много downvotes? ... – Maroun
@Alexis То, что я пытаюсь сделать, это инициализировать значение в buff, чтобы быть всем 0. – OKC