static void* array[1024] = {0};
или, как указывает kmkaplan в комментарии, просто:
static void* array[1024];
хотя я предпочитаю первое решение, просто чтобы напомнить, что оно установлено на нули (компилятор не должен генерировать для этого никакого кода, если только он не мертв)
Вам вообще не нужно его устанавливать, поскольку переменные уровня файла все равно инициализируются нулями.
Если вам нужно сбросить их в NULL в какой-то момент после запуска, используйте:
memset(array, 0, sizeof(array));
Это работает на большинстве платформ (на каждой, которую я когда-либо видел, и это довольно много), поскольку нулевой указатель обычно равен нулю битов. Но стандарт не гарантирует этого, поэтому на этих непонятных платформах безопаснее:
for (i = 0; i < sizeof(array) / sizeof(void*); i++)
array[i] = NULL;