Давным-давно, в 1975 году, кто-то начал писать библиотеку для совершенно нового языка программирования C. Он имел более 64 КБ ОЗУ и имел доступ к одному из крупнейших в мире суперкомпьютеров.
Итак, когда были разработаны такие подпрограммы, как memset()
, никто не мог представить, что вы захотите инициализировать нечто большее, чем 8-битный байт.Байт был огромный в то время.
Если вам нужно что-то большее, вы должны написать свой собственный цикл.С другой стороны, все типы C равны нулю, когда все байты равны 0. Таким образом, вы можете использовать calloc()
или получить память из другого места и использовать memset(ptr, 0, size);