Я инициализировал весь массив со значением 1, но на выходе отображается некоторое количество мусора. Но эта программа работает правильно, если я использую 0 или -1 вместо 1. Так что есть некоторые ограничения на то, какие типы значений могут быть инициализированы с использованием memset.Инициализация всего массива с memset
int main(){
int a[100];
memset(a,1,sizeof(a));
cout<<a[5]<<endl;
return 0;
}
yup it работает с -1. вы можете попробовать. –
Вы должны сначала выяснить, что делает 'sizeof (a)', а затем вы должны выяснить, что является типом третьего аргумента 'memset()'. Это должно очистить его. PS. Не делайте этого на C++, это не нужно, и, как видите, ** неправильно **. –
Если у вас современный компилятор, вы можете попробовать: std :: fill (std :: begin (a), std :: end (a), 1); ' –