Если это имеет значение, вы, вероятно, делаете что-то небезопасное и не переносное.
Да, вызов memset
установит любые биты заполнения (или байты) на 0, но на языке, на котором установлен объект , нет никакой гарантии, что для всех бит-ноль будет установлено значение 0.0. То же самое относится к указателям: all-bits-zero не гарантированно является нулевым указателем. (В обоих случаях это справедливо для большинства реализаций.)
Исходный стандарт ISO C90 или C99 даже не гарантировал, что все бит-ноль является допустимым представлением 0 для целых типов; одна из технических исправлений после C99 добавила такую гарантию (только для целочисленных типов).
Для переносимости, если вы хотите, чтобы что-то было равным нулю, установите его явно. Вы также можете воспользоваться инициализацией нулевого значения для статических объектов и для пропущенных элементов в инициализаторах.
Терминологическая нитьрика: «биты заполнения» являются частью представления целочисленных типов (и обычно их нет). Заполнение между элементами структуры - заполнение байтов.
Можете ли вы показать нам образец кода? – Mysticial
код добавленного кода –
Я не понимаю, что заставляет вас сомневаться в этом. –