Если это не отсортировано, нет.Как бы вы планировали это сделать?Вам нужно будет проверить каждый элемент, чтобы увидеть, 0 это или нет!memcmp, конечно, также проверяет каждый элемент.Это было бы намного дороже, поскольку он также читает другой массив.
Конечно, вы можете заблаговременно, как только вы нажмете элемент, отличный от 0.
Ваш единственный вариант будетиспользовать SIMD (который технически все еще проверяет каждый элемент, но использует меньше инструкций), но вы обычно не делаете это в универсальном массиве.
(Кстати, мой ответ предполагает, что у вас есть простой статический C/ C ++ массив. Если вы можете указать, какой массив у вас есть, мы могли бы быть более конкретными.)