Глобальные переменные и статические переменные автоматически обнуляются.Если у вас есть просто
char ZEROARRAY[1024];
в глобальной области видимости, это будет все нули во время выполнения.Но на самом деле это сокращенный синтаксис, если у вас был локальный массив. Если массив частично инициализирован, элементы, которые не инициализированы, получают значение 0 соответствующего типа. Вы можете написать:
char ZEROARRAY[1024] = {0};
Компилятор заполнит неписанные записи нулями.В качестве альтернативы вы можете использовать memset
для инициализации массива при запуске программы:
memset(ZEROARRAY, 0, 1024);
Это было бы полезно, если бы вы изменили его и захотели сбросить его обратно на все нули.